Started working on qu unit conversion handling (references #177)

This commit is contained in:
Bernd Bestel
2019-09-15 16:40:54 +02:00
parent 30d89f4529
commit 6094096675
11 changed files with 685 additions and 20 deletions

View File

@@ -156,7 +156,8 @@ class StockController extends BaseController
'userfields' => $this->UserfieldsService->GetFields('products'),
'products' => $this->Database->products()->where('id != :1 AND parent_product_id IS NULL', $product->id)->orderBy('name'),
'isSubProductOfOthers' => $this->Database->products()->where('parent_product_id = :1', $product->id)->count() !== 0,
'mode' => 'edit'
'mode' => 'edit',
'quConversions' => $this->Database->quantity_unit_conversions()
]);
}
}
@@ -212,12 +213,16 @@ class StockController extends BaseController
}
else
{
$quantityUnit = $this->Database->quantity_units($args['quantityunitId']);
return $this->AppContainer->view->render($response, 'quantityunitform', [
'quantityunit' => $this->Database->quantity_units($args['quantityunitId']),
'quantityUnit' => $quantityUnit,
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('quantity_units'),
'pluralCount' => $this->LocalizationService->GetPluralCount(),
'pluralRule' => $this->LocalizationService->GetPluralDefinition()
'pluralRule' => $this->LocalizationService->GetPluralDefinition(),
'defaultQuConversions' => $this->Database->quantity_unit_conversions()->where('from_qu_id = :1 AND product_id IS NULL', $quantityUnit->id),
'quantityUnits' => $this->Database->quantity_units()
]);
}
}
@@ -278,4 +283,41 @@ class StockController extends BaseController
'currentStockLocationContent' => $this->StockService->GetCurrentStockLocationContent()
]);
}
public function QuantityUnitConversionEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
{
$product = null;
if (isset($request->getQueryParams()['product']))
{
$product = $this->Database->products($request->getQueryParams()['product']);
}
$defaultQuUnit = null;
if (isset($request->getQueryParams()['qu-unit']))
{
$defaultQuUnit = $this->Database->quantity_units($request->getQueryParams()['qu-unit']);
}
if ($args['quConversionId'] == 'new')
{
return $this->AppContainer->view->render($response, 'quantityunitconversionform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('quantity_unit_conversions'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'product' => $product,
'defaultQuUnit' => $defaultQuUnit
]);
}
else
{
return $this->AppContainer->view->render($response, 'quantityunitconversionform', [
'quConversion' => $this->Database->quantity_unit_conversions($args['quConversionId']),
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('quantity_unit_conversions'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'product' => $product,
'defaultQuUnit' => $defaultQuUnit
]);
}
}
}