mirror of
https://github.com/grocy/grocy.git
synced 2025-08-15 10:14:39 +00:00
Make it possible to hide locations/stores/QUs/product_groups/task_categories (closes #2222)
This commit is contained in:
@@ -89,6 +89,7 @@
|
|||||||
|
|
||||||
### General
|
### General
|
||||||
|
|
||||||
|
- Like already possible for products/chores/batteries, locations, stores, quantity units, product groups and task categories can now be disabled to keep them for existing references without deleting them, but to hide them everywhere for selections and so on (new option "Active")
|
||||||
- Added a new `config.php` setting `ENERGY_UNIT` to customize the label to display energy values (was fixed `kcal` before and defaults to that, so no changed behavior when not configured)
|
- Added a new `config.php` setting `ENERGY_UNIT` to customize the label to display energy values (was fixed `kcal` before and defaults to that, so no changed behavior when not configured)
|
||||||
- Fixed that users were unable to delete their own API keys (when not having the `All permissions` permission)
|
- Fixed that users were unable to delete their own API keys (when not having the `All permissions` permission)
|
||||||
- Fixed that button tooltips on some places didn't disappear after clicking the corresponding button
|
- Fixed that button tooltips on some places didn't disappear after clicking the corresponding button
|
||||||
|
@@ -26,8 +26,8 @@ class StockController extends BaseController
|
|||||||
return $this->renderPage($response, 'inventory', [
|
return $this->renderPage($response, 'inventory', [
|
||||||
'products' => $this->getDatabase()->products()->where('active = 1 AND no_own_stock = 0')->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('active = 1 AND no_own_stock = 0')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('stock')
|
'userfields' => $this->getUserfieldsService()->GetFields('stock')
|
||||||
@@ -97,8 +97,17 @@ class StockController extends BaseController
|
|||||||
|
|
||||||
public function LocationsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
public function LocationsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
||||||
{
|
{
|
||||||
|
if (isset($request->getQueryParams()['include_disabled']))
|
||||||
|
{
|
||||||
|
$locations = $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$locations = $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->renderPage($response, 'locations', [
|
return $this->renderPage($response, 'locations', [
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $locations,
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('locations'),
|
'userfields' => $this->getUserfieldsService()->GetFields('locations'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('locations')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('locations')
|
||||||
]);
|
]);
|
||||||
@@ -111,10 +120,10 @@ class StockController extends BaseController
|
|||||||
|
|
||||||
return $this->renderPage($response, 'stockoverview', [
|
return $this->renderPage($response, 'stockoverview', [
|
||||||
'currentStock' => $this->getStockService()->GetCurrentStockOverview(),
|
'currentStock' => $this->getStockService()->GetCurrentStockOverview(),
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'currentStockLocations' => $this->getStockService()->GetCurrentStockLocations(),
|
'currentStockLocations' => $this->getStockService()->GetCurrentStockLocations(),
|
||||||
'nextXDays' => $nextXDays,
|
'nextXDays' => $nextXDays,
|
||||||
'productGroups' => $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE'),
|
'productGroups' => $this->getDatabase()->product_groups()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('products')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('products')
|
||||||
]);
|
]);
|
||||||
@@ -134,7 +143,7 @@ class StockController extends BaseController
|
|||||||
'mode' => 'create',
|
'mode' => 'create',
|
||||||
'barcodes' => $this->getDatabase()->product_barcodes()->orderBy('barcode'),
|
'barcodes' => $this->getDatabase()->product_barcodes()->orderBy('barcode'),
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('product_barcodes')
|
'userfields' => $this->getUserfieldsService()->GetFields('product_barcodes')
|
||||||
@@ -146,7 +155,7 @@ class StockController extends BaseController
|
|||||||
'mode' => 'edit',
|
'mode' => 'edit',
|
||||||
'barcode' => $this->getDatabase()->product_barcodes($args['productBarcodeId']),
|
'barcode' => $this->getDatabase()->product_barcodes($args['productBarcodeId']),
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('product_barcodes')
|
'userfields' => $this->getUserfieldsService()->GetFields('product_barcodes')
|
||||||
@@ -159,13 +168,13 @@ class StockController extends BaseController
|
|||||||
if ($args['productId'] == 'new')
|
if ($args['productId'] == 'new')
|
||||||
{
|
{
|
||||||
return $this->renderPage($response, 'productform', [
|
return $this->renderPage($response, 'productform', [
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name'),
|
||||||
'barcodes' => $this->getDatabase()->product_barcodes()->orderBy('barcode'),
|
'barcodes' => $this->getDatabase()->product_barcodes()->orderBy('barcode'),
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityunitsStock' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunitsStock' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'referencedQuantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'referencedQuantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'productgroups' => $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE'),
|
'productgroups' => $this->getDatabase()->product_groups()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
||||||
'products' => $this->getDatabase()->products()->where('parent_product_id IS NULL and active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('parent_product_id IS NULL and active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'isSubProductOfOthers' => false,
|
'isSubProductOfOthers' => false,
|
||||||
@@ -178,13 +187,13 @@ class StockController extends BaseController
|
|||||||
|
|
||||||
return $this->renderPage($response, 'productform', [
|
return $this->renderPage($response, 'productform', [
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'barcodes' => $this->getDatabase()->product_barcodes()->orderBy('barcode'),
|
'barcodes' => $this->getDatabase()->product_barcodes()->orderBy('barcode'),
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityunitsStock' => $this->getDatabase()->quantity_units()->where('id IN (SELECT to_qu_id FROM quantity_unit_conversions_resolved WHERE product_id = :1) OR NOT EXISTS(SELECT 1 FROM stock_log WHERE product_id = :1)', $product->id)->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunitsStock' => $this->getDatabase()->quantity_units()->where('id IN (SELECT to_qu_id FROM quantity_unit_conversions_resolved WHERE product_id = :1) OR NOT EXISTS(SELECT 1 FROM stock_log WHERE product_id = :1)', $product->id)->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'referencedQuantityunits' => $this->getDatabase()->quantity_units()->where('id IN (SELECT to_qu_id FROM quantity_unit_conversions_resolved WHERE product_id = :1)', $product->id)->orderBy('name', 'COLLATE NOCASE'),
|
'referencedQuantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->where('id IN (SELECT to_qu_id FROM quantity_unit_conversions_resolved WHERE product_id = :1)', $product->id)->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'productgroups' => $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE'),
|
'productgroups' => $this->getDatabase()->product_groups()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
||||||
'products' => $this->getDatabase()->products()->where('id != :1 AND parent_product_id IS NULL and active = 1', $product->id)->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('id != :1 AND parent_product_id IS NULL and active = 1', $product->id)->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'isSubProductOfOthers' => $this->getDatabase()->products()->where('parent_product_id = :1', $product->id)->count() !== 0,
|
'isSubProductOfOthers' => $this->getDatabase()->products()->where('parent_product_id = :1', $product->id)->count() !== 0,
|
||||||
@@ -223,8 +232,17 @@ class StockController extends BaseController
|
|||||||
|
|
||||||
public function ProductGroupsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
public function ProductGroupsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
||||||
{
|
{
|
||||||
|
if (isset($request->getQueryParams()['include_disabled']))
|
||||||
|
{
|
||||||
|
$productGroups = $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$productGroups = $this->getDatabase()->product_groups()->where('active = 1')->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->renderPage($response, 'productgroups', [
|
return $this->renderPage($response, 'productgroups', [
|
||||||
'productGroups' => $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE'),
|
'productGroups' => $productGroups,
|
||||||
'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('product_groups'),
|
'userfields' => $this->getUserfieldsService()->GetFields('product_groups'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('product_groups')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('product_groups')
|
||||||
@@ -254,7 +272,7 @@ class StockController extends BaseController
|
|||||||
'products' => $products,
|
'products' => $products,
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'productGroups' => $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE'),
|
'productGroups' => $this->getDatabase()->product_groups()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'shoppingLocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppingLocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
'userfields' => $this->getUserfieldsService()->GetFields('products'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('products')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('products')
|
||||||
@@ -266,9 +284,9 @@ class StockController extends BaseController
|
|||||||
return $this->renderPage($response, 'purchase', [
|
return $this->renderPage($response, 'purchase', [
|
||||||
'products' => $this->getDatabase()->products()->where('active = 1 AND no_own_stock = 0')->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('active = 1 AND no_own_stock = 0')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('stock')
|
'userfields' => $this->getUserfieldsService()->GetFields('stock')
|
||||||
]);
|
]);
|
||||||
@@ -294,7 +312,7 @@ class StockController extends BaseController
|
|||||||
return $this->renderPage($response, 'quantityunitconversionform', [
|
return $this->renderPage($response, 'quantityunitconversionform', [
|
||||||
'mode' => 'create',
|
'mode' => 'create',
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('quantity_unit_conversions'),
|
'userfields' => $this->getUserfieldsService()->GetFields('quantity_unit_conversions'),
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'defaultQuUnit' => $defaultQuUnit
|
'defaultQuUnit' => $defaultQuUnit
|
||||||
]);
|
]);
|
||||||
@@ -305,7 +323,7 @@ class StockController extends BaseController
|
|||||||
'quConversion' => $this->getDatabase()->quantity_unit_conversions($args['quConversionId']),
|
'quConversion' => $this->getDatabase()->quantity_unit_conversions($args['quConversionId']),
|
||||||
'mode' => 'edit',
|
'mode' => 'edit',
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('quantity_unit_conversions'),
|
'userfields' => $this->getUserfieldsService()->GetFields('quantity_unit_conversions'),
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'defaultQuUnit' => $defaultQuUnit
|
'defaultQuUnit' => $defaultQuUnit
|
||||||
]);
|
]);
|
||||||
@@ -342,14 +360,23 @@ class StockController extends BaseController
|
|||||||
public function QuantityUnitPluralFormTesting(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
public function QuantityUnitPluralFormTesting(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
||||||
{
|
{
|
||||||
return $this->renderPage($response, 'quantityunitpluraltesting', [
|
return $this->renderPage($response, 'quantityunitpluraltesting', [
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE')
|
'quantityUnits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function QuantityUnitsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
public function QuantityUnitsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
||||||
{
|
{
|
||||||
|
if (isset($request->getQueryParams()['include_disabled']))
|
||||||
|
{
|
||||||
|
$quantityUnits = $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$quantityUnits = $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->renderPage($response, 'quantityunits', [
|
return $this->renderPage($response, 'quantityunits', [
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $quantityUnits,
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('quantity_units'),
|
'userfields' => $this->getUserfieldsService()->GetFields('quantity_units'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('quantity_units')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('quantity_units')
|
||||||
]);
|
]);
|
||||||
@@ -408,7 +435,7 @@ class StockController extends BaseController
|
|||||||
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
||||||
'shoppingLists' => $this->getDatabase()->shopping_lists()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppingLists' => $this->getDatabase()->shopping_lists()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'mode' => 'create',
|
'mode' => 'create',
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('shopping_list')
|
'userfields' => $this->getUserfieldsService()->GetFields('shopping_list')
|
||||||
]);
|
]);
|
||||||
@@ -421,7 +448,7 @@ class StockController extends BaseController
|
|||||||
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
||||||
'shoppingLists' => $this->getDatabase()->shopping_lists()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppingLists' => $this->getDatabase()->shopping_lists()->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'mode' => 'edit',
|
'mode' => 'edit',
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved(),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('shopping_list')
|
'userfields' => $this->getUserfieldsService()->GetFields('shopping_list')
|
||||||
]);
|
]);
|
||||||
@@ -447,7 +474,7 @@ class StockController extends BaseController
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
return $this->renderPage($response, 'shoppinglocationform', [
|
return $this->renderPage($response, 'shoppinglocationform', [
|
||||||
'shoppinglocation' => $this->getDatabase()->shopping_locations($args['shoppingLocationId']),
|
'shoppingLocation' => $this->getDatabase()->shopping_locations($args['shoppingLocationId']),
|
||||||
'mode' => 'edit',
|
'mode' => 'edit',
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('shopping_locations')
|
'userfields' => $this->getUserfieldsService()->GetFields('shopping_locations')
|
||||||
]);
|
]);
|
||||||
@@ -456,8 +483,17 @@ class StockController extends BaseController
|
|||||||
|
|
||||||
public function ShoppingLocationsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
public function ShoppingLocationsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
||||||
{
|
{
|
||||||
|
if (isset($request->getQueryParams()['include_disabled']))
|
||||||
|
{
|
||||||
|
$shoppingLocations = $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$shoppingLocations = $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->renderPage($response, 'shoppinglocations', [
|
return $this->renderPage($response, 'shoppinglocations', [
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $shoppingLocations,
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('shopping_locations'),
|
'userfields' => $this->getUserfieldsService()->GetFields('shopping_locations'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('shopping_locations')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('shopping_locations')
|
||||||
]);
|
]);
|
||||||
@@ -468,8 +504,8 @@ class StockController extends BaseController
|
|||||||
return $this->renderPage($response, 'stockentryform', [
|
return $this->renderPage($response, 'stockentryform', [
|
||||||
'stockEntry' => $this->getDatabase()->stock()->where('id', $args['entryId'])->fetch(),
|
'stockEntry' => $this->getDatabase()->stock()->where('id', $args['entryId'])->fetch(),
|
||||||
'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('stock')
|
'userfields' => $this->getUserfieldsService()->GetFields('stock')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@@ -493,9 +529,9 @@ class StockController extends BaseController
|
|||||||
public function StockSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
public function StockSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
||||||
{
|
{
|
||||||
return $this->renderPage($response, 'stocksettings', [
|
return $this->renderPage($response, 'stocksettings', [
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'productGroups' => $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE')
|
'productGroups' => $this->getDatabase()->product_groups()->where('active = 1')->orderBy('name', 'COLLATE NOCASE')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -506,9 +542,9 @@ class StockController extends BaseController
|
|||||||
|
|
||||||
return $this->renderPage($response, 'stockentries', [
|
return $this->renderPage($response, 'stockentries', [
|
||||||
'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityunits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityunits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'shoppinglocations' => $this->getDatabase()->shopping_locations()->orderBy('name', 'COLLATE NOCASE'),
|
'shoppinglocations' => $this->getDatabase()->shopping_locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'stockEntries' => $this->getDatabase()->uihelper_stock_entries()->orderBy('product_id'),
|
'stockEntries' => $this->getDatabase()->uihelper_stock_entries()->orderBy('product_id'),
|
||||||
'currentStockLocations' => $this->getStockService()->GetCurrentStockLocations(),
|
'currentStockLocations' => $this->getStockService()->GetCurrentStockLocations(),
|
||||||
'nextXDays' => $nextXDays,
|
'nextXDays' => $nextXDays,
|
||||||
@@ -524,8 +560,8 @@ class StockController extends BaseController
|
|||||||
return $this->renderPage($response, 'transfer', [
|
return $this->renderPage($response, 'transfer', [
|
||||||
'products' => $this->getDatabase()->products()->where('active = 1')->where('no_own_stock = 0 AND id IN (SELECT product_id from stock_current WHERE amount_aggregated > 0)')->orderBy('name', 'COLLATE NOCASE'),
|
'products' => $this->getDatabase()->products()->where('active = 1')->where('no_own_stock = 0 AND id IN (SELECT product_id from stock_current WHERE amount_aggregated > 0)')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(),
|
||||||
'locations' => $this->getDatabase()->locations()->orderBy('name', 'COLLATE NOCASE'),
|
'locations' => $this->getDatabase()->locations()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved()
|
'quantityUnitConversionsResolved' => $this->getDatabase()->quantity_unit_conversions_resolved()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@@ -570,7 +606,7 @@ class StockController extends BaseController
|
|||||||
|
|
||||||
return $this->renderPage($response, 'quantityunitconversionsresolved', [
|
return $this->renderPage($response, 'quantityunitconversionsresolved', [
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
'quantityUnits' => $this->getDatabase()->quantity_units()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'quantityUnitConversionsResolved' => $quantityUnitConversionsResolved
|
'quantityUnitConversionsResolved' => $quantityUnitConversionsResolved
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@@ -63,7 +63,7 @@ class StockReportsController extends BaseController
|
|||||||
|
|
||||||
return $this->renderPage($response, 'stockreportspendings', [
|
return $this->renderPage($response, 'stockreportspendings', [
|
||||||
'metrics' => $this->getDatabaseService()->ExecuteDbQuery($sql)->fetchAll(\PDO::FETCH_OBJ),
|
'metrics' => $this->getDatabaseService()->ExecuteDbQuery($sql)->fetchAll(\PDO::FETCH_OBJ),
|
||||||
'productGroups' => $this->getDatabase()->product_groups()->orderBy('name', 'COLLATE NOCASE'),
|
'productGroups' => $this->getDatabase()->product_groups()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'selectedGroup' => isset($request->getQueryParams()['product_group']) ? $request->getQueryParams()['product_group'] : null,
|
'selectedGroup' => isset($request->getQueryParams()['product_group']) ? $request->getQueryParams()['product_group'] : null,
|
||||||
'byGroup' => isset($request->getQueryParams()['byGroup']) ? $request->getQueryParams()['byGroup'] : null
|
'byGroup' => isset($request->getQueryParams()['byGroup']) ? $request->getQueryParams()['byGroup'] : null
|
||||||
]);
|
]);
|
||||||
|
@@ -41,7 +41,7 @@ class TasksController extends BaseController
|
|||||||
return $this->renderPage($response, 'tasks', [
|
return $this->renderPage($response, 'tasks', [
|
||||||
'tasks' => $tasks,
|
'tasks' => $tasks,
|
||||||
'nextXDays' => $nextXDays,
|
'nextXDays' => $nextXDays,
|
||||||
'taskCategories' => $this->getDatabase()->task_categories()->orderBy('name', 'COLLATE NOCASE'),
|
'taskCategories' => $this->getDatabase()->task_categories()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'users' => $this->getDatabase()->users(),
|
'users' => $this->getDatabase()->users(),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('tasks'),
|
'userfields' => $this->getUserfieldsService()->GetFields('tasks'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('tasks')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('tasks')
|
||||||
@@ -50,8 +50,17 @@ class TasksController extends BaseController
|
|||||||
|
|
||||||
public function TaskCategoriesList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
public function TaskCategoriesList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
|
||||||
{
|
{
|
||||||
|
if (isset($request->getQueryParams()['include_disabled']))
|
||||||
|
{
|
||||||
|
$categories = $this->getDatabase()->task_categories()->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$categories = $this->getDatabase()->task_categories()->where('active = 1')->orderBy('name', 'COLLATE NOCASE');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->renderPage($response, 'taskcategories', [
|
return $this->renderPage($response, 'taskcategories', [
|
||||||
'taskCategories' => $this->getDatabase()->task_categories()->orderBy('name', 'COLLATE NOCASE'),
|
'taskCategories' => $categories,
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('task_categories'),
|
'userfields' => $this->getUserfieldsService()->GetFields('task_categories'),
|
||||||
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('task_categories')
|
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('task_categories')
|
||||||
]);
|
]);
|
||||||
@@ -82,7 +91,7 @@ class TasksController extends BaseController
|
|||||||
{
|
{
|
||||||
return $this->renderPage($response, 'taskform', [
|
return $this->renderPage($response, 'taskform', [
|
||||||
'mode' => 'create',
|
'mode' => 'create',
|
||||||
'taskCategories' => $this->getDatabase()->task_categories()->orderBy('name', 'COLLATE NOCASE'),
|
'taskCategories' => $this->getDatabase()->task_categories()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'users' => $this->getDatabase()->users()->orderBy('username'),
|
'users' => $this->getDatabase()->users()->orderBy('username'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('tasks')
|
'userfields' => $this->getUserfieldsService()->GetFields('tasks')
|
||||||
]);
|
]);
|
||||||
@@ -92,7 +101,7 @@ class TasksController extends BaseController
|
|||||||
return $this->renderPage($response, 'taskform', [
|
return $this->renderPage($response, 'taskform', [
|
||||||
'task' => $this->getDatabase()->tasks($args['taskId']),
|
'task' => $this->getDatabase()->tasks($args['taskId']),
|
||||||
'mode' => 'edit',
|
'mode' => 'edit',
|
||||||
'taskCategories' => $this->getDatabase()->task_categories()->orderBy('name', 'COLLATE NOCASE'),
|
'taskCategories' => $this->getDatabase()->task_categories()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'),
|
||||||
'users' => $this->getDatabase()->users()->orderBy('username'),
|
'users' => $this->getDatabase()->users()->orderBy('username'),
|
||||||
'userfields' => $this->getUserfieldsService()->GetFields('tasks')
|
'userfields' => $this->getUserfieldsService()->GetFields('tasks')
|
||||||
]);
|
]);
|
||||||
|
14
migrations/0218.sql
Normal file
14
migrations/0218.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
ALTER TABLE locations
|
||||||
|
ADD active TINYINT NOT NULL DEFAULT 1 CHECK(active IN (0, 1));
|
||||||
|
|
||||||
|
ALTER TABLE shopping_locations
|
||||||
|
ADD active TINYINT NOT NULL DEFAULT 1 CHECK(active IN (0, 1));
|
||||||
|
|
||||||
|
ALTER TABLE quantity_units
|
||||||
|
ADD active TINYINT NOT NULL DEFAULT 1 CHECK(active IN (0, 1));
|
||||||
|
|
||||||
|
ALTER TABLE product_groups
|
||||||
|
ADD active TINYINT NOT NULL DEFAULT 1 CHECK(active IN (0, 1));
|
||||||
|
|
||||||
|
ALTER TABLE task_categories
|
||||||
|
ADD active TINYINT NOT NULL DEFAULT 1 CHECK(active IN (0, 1));
|
@@ -61,3 +61,20 @@ $(document).on('click', '.location-delete-button', function(e)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#show-disabled").change(function()
|
||||||
|
{
|
||||||
|
if (this.checked)
|
||||||
|
{
|
||||||
|
window.location.href = U('/locations?include_disabled');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.location.href = U('/locations');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (GetUriParam('include_disabled'))
|
||||||
|
{
|
||||||
|
$("#show-disabled").prop('checked', true);
|
||||||
|
}
|
||||||
|
@@ -70,3 +70,20 @@ $(window).on("message", function(e)
|
|||||||
window.location.reload();
|
window.location.reload();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#show-disabled").change(function()
|
||||||
|
{
|
||||||
|
if (this.checked)
|
||||||
|
{
|
||||||
|
window.location.href = U('/productgroups?include_disabled');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.location.href = U('/productgroups');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (GetUriParam('include_disabled'))
|
||||||
|
{
|
||||||
|
$("#show-disabled").prop('checked', true);
|
||||||
|
}
|
||||||
|
@@ -61,3 +61,20 @@ $(document).on('click', '.quantityunit-delete-button', function(e)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#show-disabled").change(function()
|
||||||
|
{
|
||||||
|
if (this.checked)
|
||||||
|
{
|
||||||
|
window.location.href = U('/quantityunits?include_disabled');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.location.href = U('/quantityunits');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (GetUriParam('include_disabled'))
|
||||||
|
{
|
||||||
|
$("#show-disabled").prop('checked', true);
|
||||||
|
}
|
||||||
|
@@ -61,3 +61,20 @@ $(document).on('click', '.shoppinglocation-delete-button', function(e)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#show-disabled").change(function()
|
||||||
|
{
|
||||||
|
if (this.checked)
|
||||||
|
{
|
||||||
|
window.location.href = U('/shoppinglocations?include_disabled');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.location.href = U('/shoppinglocations');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (GetUriParam('include_disabled'))
|
||||||
|
{
|
||||||
|
$("#show-disabled").prop('checked', true);
|
||||||
|
}
|
||||||
|
@@ -61,3 +61,20 @@ $(document).on('click', '.task-category-delete-button', function(e)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#show-disabled").change(function()
|
||||||
|
{
|
||||||
|
if (this.checked)
|
||||||
|
{
|
||||||
|
window.location.href = U('/taskcategories?include_disabled');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.location.href = U('/taskcategories');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (GetUriParam('include_disabled'))
|
||||||
|
{
|
||||||
|
$("#show-disabled").prop('checked', true);
|
||||||
|
}
|
||||||
|
@@ -1772,7 +1772,7 @@ class StockService extends BaseService
|
|||||||
if (file_exists($path))
|
if (file_exists($path))
|
||||||
{
|
{
|
||||||
require_once $path;
|
require_once $path;
|
||||||
return new $pluginName($this->getDatabase()->locations()->fetchAll(), $this->getDatabase()->quantity_units()->fetchAll());
|
return new $pluginName($this->getDatabase()->locations()->where('active = 1')->fetchAll(), $this->getDatabase()->quantity_units()->fetchAll());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1782,7 +1782,7 @@ class StockService extends BaseService
|
|||||||
|
|
||||||
private function LocationExists($locationId)
|
private function LocationExists($locationId)
|
||||||
{
|
{
|
||||||
$locationRow = $this->getDatabase()->locations()->where('id = :1', $locationId)->fetch();
|
$locationRow = $this->getDatabase()->locations()->where('id = :1', $locationId)->where('active = 1')->fetch();
|
||||||
return $locationRow !== null;
|
return $locationRow !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ class TasksService extends BaseService
|
|||||||
public function GetCurrent(): \LessQL\Result
|
public function GetCurrent(): \LessQL\Result
|
||||||
{
|
{
|
||||||
$users = $this->getUsersService()->GetUsersAsDto();
|
$users = $this->getUsersService()->GetUsersAsDto();
|
||||||
$categories = $this->getDatabase()->task_categories();
|
$categories = $this->getDatabase()->task_categories()->where('active = 1');
|
||||||
|
|
||||||
$tasks = $this->getDatabase()->tasks_current();
|
$tasks = $this->getDatabase()->tasks_current();
|
||||||
foreach ($tasks as $task)
|
foreach ($tasks as $task)
|
||||||
|
@@ -43,6 +43,19 @@
|
|||||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox">
|
||||||
|
<input @if($mode=='create'
|
||||||
|
)
|
||||||
|
checked
|
||||||
|
@elseif($mode=='edit'
|
||||||
|
&&
|
||||||
|
$location->active == 1) checked @endif class="form-check-input custom-control-input" type="checkbox" id="active" name="active" value="1">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="active">{{ $__t('Active') }}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="description">{{ $__t('Description') }}</label>
|
<label for="description">{{ $__t('Description') }}</label>
|
||||||
<textarea class="form-control"
|
<textarea class="form-control"
|
||||||
|
@@ -53,6 +53,17 @@
|
|||||||
placeholder="{{ $__t('Search') }}">
|
placeholder="{{ $__t('Search') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-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"
|
||||||
|
id="show-disabled">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="show-disabled">
|
||||||
|
{{ $__t('Show disabled') }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button id="clear-filter-button"
|
<button id="clear-filter-button"
|
||||||
@@ -89,7 +100,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody class="d-none">
|
<tbody class="d-none">
|
||||||
@foreach($locations as $location)
|
@foreach($locations as $location)
|
||||||
<tr>
|
<tr class="@if($location->active == 0) text-muted @endif">
|
||||||
<td class="fit-content border-right">
|
<td class="fit-content border-right">
|
||||||
<a class="btn btn-info btn-sm show-as-dialog-link"
|
<a class="btn btn-info btn-sm show-as-dialog-link"
|
||||||
href="{{ $U('/location/') }}{{ $location->id }}?embedded"
|
href="{{ $U('/location/') }}{{ $location->id }}?embedded"
|
||||||
|
@@ -43,6 +43,19 @@
|
|||||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox">
|
||||||
|
<input @if($mode=='create'
|
||||||
|
)
|
||||||
|
checked
|
||||||
|
@elseif($mode=='edit'
|
||||||
|
&&
|
||||||
|
$group->active == 1) checked @endif class="form-check-input custom-control-input" type="checkbox" id="active" name="active" value="1">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="active">{{ $__t('Active') }}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="description">{{ $__t('Description') }}</label>
|
<label for="description">{{ $__t('Description') }}</label>
|
||||||
<textarea class="form-control"
|
<textarea class="form-control"
|
||||||
|
@@ -53,6 +53,17 @@
|
|||||||
placeholder="{{ $__t('Search') }}">
|
placeholder="{{ $__t('Search') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-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"
|
||||||
|
id="show-disabled">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="show-disabled">
|
||||||
|
{{ $__t('Show disabled') }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button id="clear-filter-button"
|
<button id="clear-filter-button"
|
||||||
@@ -89,7 +100,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody class="d-none">
|
<tbody class="d-none">
|
||||||
@foreach($productGroups as $productGroup)
|
@foreach($productGroups as $productGroup)
|
||||||
<tr>
|
<tr class="@if($productGroup->active == 0) text-muted @endif">
|
||||||
<td class="fit-content border-right">
|
<td class="fit-content border-right">
|
||||||
<a class="btn btn-info btn-sm show-as-dialog-link"
|
<a class="btn btn-info btn-sm show-as-dialog-link"
|
||||||
href="{{ $U('/productgroup/') }}{{ $productGroup->id }}?embedded"
|
href="{{ $U('/productgroup/') }}{{ $productGroup->id }}?embedded"
|
||||||
|
@@ -69,6 +69,19 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox">
|
||||||
|
<input @if($mode=='create'
|
||||||
|
)
|
||||||
|
checked
|
||||||
|
@elseif($mode=='edit'
|
||||||
|
&&
|
||||||
|
$quantityUnit->active == 1) checked @endif class="form-check-input custom-control-input" type="checkbox" id="active" name="active" value="1">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="active">{{ $__t('Active') }}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="description">{{ $__t('Description') }}</label>
|
<label for="description">{{ $__t('Description') }}</label>
|
||||||
<textarea class="form-control"
|
<textarea class="form-control"
|
||||||
|
@@ -53,6 +53,17 @@
|
|||||||
placeholder="{{ $__t('Search') }}">
|
placeholder="{{ $__t('Search') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-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"
|
||||||
|
id="show-disabled">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="show-disabled">
|
||||||
|
{{ $__t('Show disabled') }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button id="clear-filter-button"
|
<button id="clear-filter-button"
|
||||||
@@ -88,7 +99,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody class="d-none">
|
<tbody class="d-none">
|
||||||
@foreach($quantityunits as $quantityunit)
|
@foreach($quantityunits as $quantityunit)
|
||||||
<tr>
|
<tr class="@if($quantityunit->active == 0) text-muted @endif">
|
||||||
<td class="fit-content border-right">
|
<td class="fit-content border-right">
|
||||||
<a class="btn btn-info btn-sm"
|
<a class="btn btn-info btn-sm"
|
||||||
href="{{ $U('/quantityunit/') }}{{ $quantityunit->id }}"
|
href="{{ $U('/quantityunit/') }}{{ $quantityunit->id }}"
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
@section('title', $__t('Create store'))
|
@section('title', $__t('Create store'))
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@section('viewJsName', 'shoppinglocationform')
|
@section('viewJsName', 'shoppingLocationform')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
@if($mode == 'edit')
|
@if($mode == 'edit')
|
||||||
<script>
|
<script>
|
||||||
Grocy.EditObjectId = {{ $shoppinglocation->id }};
|
Grocy.EditObjectId = {{ $shoppingLocation->id }};
|
||||||
</script>
|
</script>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@@ -39,16 +39,29 @@
|
|||||||
required
|
required
|
||||||
id="name"
|
id="name"
|
||||||
name="name"
|
name="name"
|
||||||
value="@if($mode == 'edit'){{ $shoppinglocation->name }}@endif">
|
value="@if($mode == 'edit'){{ $shoppingLocation->name }}@endif">
|
||||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox">
|
||||||
|
<input @if($mode=='create'
|
||||||
|
)
|
||||||
|
checked
|
||||||
|
@elseif($mode=='edit'
|
||||||
|
&&
|
||||||
|
$shoppingLocation->active == 1) checked @endif class="form-check-input custom-control-input" type="checkbox" id="active" name="active" value="1">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="active">{{ $__t('Active') }}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="description">{{ $__t('Description') }}</label>
|
<label for="description">{{ $__t('Description') }}</label>
|
||||||
<textarea class="form-control"
|
<textarea class="form-control"
|
||||||
rows="2"
|
rows="2"
|
||||||
id="description"
|
id="description"
|
||||||
name="description">@if($mode == 'edit'){{ $shoppinglocation->description }}@endif</textarea>
|
name="description">@if($mode == 'edit'){{ $shoppingLocation->description }}@endif</textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@include('components.userfieldsform', array(
|
@include('components.userfieldsform', array(
|
||||||
|
@@ -53,6 +53,17 @@
|
|||||||
placeholder="{{ $__t('Search') }}">
|
placeholder="{{ $__t('Search') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-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"
|
||||||
|
id="show-disabled">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="show-disabled">
|
||||||
|
{{ $__t('Show disabled') }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button id="clear-filter-button"
|
<button id="clear-filter-button"
|
||||||
@@ -89,7 +100,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody class="d-none">
|
<tbody class="d-none">
|
||||||
@foreach($shoppinglocations as $shoppinglocation)
|
@foreach($shoppinglocations as $shoppinglocation)
|
||||||
<tr>
|
<tr class="@if($shoppinglocation->active == 0) text-muted @endif">
|
||||||
<td class="fit-content border-right">
|
<td class="fit-content border-right">
|
||||||
<a class="btn btn-info btn-sm show-as-dialog-link"
|
<a class="btn btn-info btn-sm show-as-dialog-link"
|
||||||
href="{{ $U('/shoppinglocation/') }}{{ $shoppinglocation->id }}?embedded"
|
href="{{ $U('/shoppinglocation/') }}{{ $shoppinglocation->id }}?embedded"
|
||||||
|
@@ -53,6 +53,17 @@
|
|||||||
placeholder="{{ $__t('Search') }}">
|
placeholder="{{ $__t('Search') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-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"
|
||||||
|
id="show-disabled">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="show-disabled">
|
||||||
|
{{ $__t('Show disabled') }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
<button id="clear-filter-button"
|
<button id="clear-filter-button"
|
||||||
@@ -89,7 +100,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody class="d-none">
|
<tbody class="d-none">
|
||||||
@foreach($taskCategories as $taskCategory)
|
@foreach($taskCategories as $taskCategory)
|
||||||
<tr>
|
<tr class="@if($taskCategory->active == 0) text-muted @endif">
|
||||||
<td class="fit-content border-right">
|
<td class="fit-content border-right">
|
||||||
<a class="btn btn-info btn-sm show-as-dialog-link"
|
<a class="btn btn-info btn-sm show-as-dialog-link"
|
||||||
href="{{ $U('/taskcategory/') }}{{ $taskCategory->id }}?embedded"
|
href="{{ $U('/taskcategory/') }}{{ $taskCategory->id }}?embedded"
|
||||||
|
@@ -43,6 +43,19 @@
|
|||||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox">
|
||||||
|
<input @if($mode=='create'
|
||||||
|
)
|
||||||
|
checked
|
||||||
|
@elseif($mode=='edit'
|
||||||
|
&&
|
||||||
|
$category->active == 1) checked @endif class="form-check-input custom-control-input" type="checkbox" id="active" name="active" value="1">
|
||||||
|
<label class="form-check-label custom-control-label"
|
||||||
|
for="active">{{ $__t('Active') }}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="description">{{ $__t('Description') }}</label>
|
<label for="description">{{ $__t('Description') }}</label>
|
||||||
<textarea class="form-control"
|
<textarea class="form-control"
|
||||||
|
Reference in New Issue
Block a user