Upgrade Slim Framework to v4 (closes #561)

This commit is contained in:
Bernd Bestel
2020-02-11 17:42:03 +01:00
parent d56aebc9b8
commit d4fa1a64c2
34 changed files with 1169 additions and 561 deletions

View File

@@ -5,7 +5,7 @@ namespace Grocy\Controllers;
class BaseApiController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->OpenApiSpec = json_decode(file_get_contents(__DIR__ . '/../grocy.openapi.json'));
@@ -13,17 +13,18 @@ class BaseApiController extends BaseController
protected $OpenApiSpec;
protected function ApiResponse($data)
protected function ApiResponse(\Psr\Http\Message\ResponseInterface $response, $data)
{
return json_encode($data);
$response->getBody()->write(json_encode($data));
return $response;
}
protected function EmptyApiResponse($response, $status = 204)
protected function EmptyApiResponse(\Psr\Http\Message\ResponseInterface $response, $status = 204)
{
return $response->withStatus($status);
}
protected function GenericErrorResponse($response, $errorMessage, $status = 400)
protected function GenericErrorResponse(\Psr\Http\Message\ResponseInterface $response, $errorMessage, $status = 400)
{
return $response->withStatus($status)->withJson(array(
'error_message' => $errorMessage

View File

@@ -9,7 +9,7 @@ use \Grocy\Services\UsersService;
class BaseController
{
public function __construct(\Slim\Container $container) {
public function __construct(\DI\Container $container) {
$databaseService = new DatabaseService();
$this->Database = $databaseService->GetDbConnection();
@@ -18,30 +18,33 @@ class BaseController
$applicationService = new ApplicationService();
$versionInfo = $applicationService->GetInstalledVersion();
$container->view->set('version', $versionInfo->Version);
$container->view->set('releaseDate', $versionInfo->ReleaseDate);
$container->view->set('__t', function(string $text, ...$placeholderValues) use($localizationService)
$view = $container->get('view');
$this->View = $view;
$view->set('version', $versionInfo->Version);
$view->set('releaseDate', $versionInfo->ReleaseDate);
$view->set('__t', function(string $text, ...$placeholderValues) use($localizationService)
{
return $localizationService->__t($text, $placeholderValues);
});
$container->view->set('__n', function($number, $singularForm, $pluralForm) use($localizationService)
$view->set('__n', function($number, $singularForm, $pluralForm) use($localizationService)
{
return $localizationService->__n($number, $singularForm, $pluralForm);
});
$container->view->set('GettextPo', $localizationService->GetPoAsJsonString());
$view->set('GettextPo', $localizationService->GetPoAsJsonString());
$container->view->set('U', function($relativePath, $isResource = false) use($container)
$view->set('U', function($relativePath, $isResource = false) use($container)
{
return $container->UrlManager->ConstructUrl($relativePath, $isResource);
return $container->get('UrlManager')->ConstructUrl($relativePath, $isResource);
});
$embedded = false;
if (isset($container->request->getQueryParams()['embedded']))
if (isset($_GET['embedded']))
{
$embedded = true;
}
$container->view->set('embedded', $embedded);
$view->set('embedded', $embedded);
$constants = get_defined_constants();
foreach ($constants as $constant => $value)
@@ -51,20 +54,20 @@ class BaseController
unset($constants[$constant]);
}
}
$container->view->set('featureFlags', $constants);
$view->set('featureFlags', $constants);
$container->view->set('userentitiesForSidebar', $this->Database->userentities()->where('show_in_sidebar_menu = 1')->orderBy('name'));
$view->set('userentitiesForSidebar', $this->Database->userentities()->where('show_in_sidebar_menu = 1')->orderBy('name'));
try
{
$usersService = new UsersService();
if (defined('GROCY_USER_ID'))
{
$container->view->set('userSettings', $usersService->GetUserSettings(GROCY_USER_ID));
$view->set('userSettings', $usersService->GetUserSettings(GROCY_USER_ID));
}
else
{
$container->view->set('userSettings', null);
$view->set('userSettings', null);
}
}
catch (\Exception $ex)
@@ -75,7 +78,13 @@ class BaseController
$this->AppContainer = $container;
}
public function Root(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $response;
}
protected $AppContainer;
protected $Database;
protected $LocalizationService;
protected $View;
}

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\BatteriesService;
class BatteriesApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->BatteriesService = new BatteriesService();
@@ -14,7 +14,7 @@ class BatteriesApiController extends BaseApiController
protected $BatteriesService;
public function TrackChargeCycle(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TrackChargeCycle(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -27,7 +27,7 @@ class BatteriesApiController extends BaseApiController
}
$chargeCycleId = $this->BatteriesService->TrackChargeCycle($args['batteryId'], $trackedTime);
return $this->ApiResponse($this->Database->battery_charge_cycles($chargeCycleId));
return $this->ApiResponse($response, $this->Database->battery_charge_cycles($chargeCycleId));
}
catch (\Exception $ex)
{
@@ -35,11 +35,11 @@ class BatteriesApiController extends BaseApiController
}
}
public function BatteryDetails(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function BatteryDetails(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
return $this->ApiResponse($this->BatteriesService->GetBatteryDetails($args['batteryId']));
return $this->ApiResponse($response, $this->BatteriesService->GetBatteryDetails($args['batteryId']));
}
catch (\Exception $ex)
{
@@ -47,16 +47,16 @@ class BatteriesApiController extends BaseApiController
}
}
public function Current(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Current(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse($this->BatteriesService->GetCurrent());
return $this->ApiResponse($response, $this->BatteriesService->GetCurrent());
}
public function UndoChargeCycle(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UndoChargeCycle(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
$this->ApiResponse($this->BatteriesService->UndoChargeCycle($args['chargeCycleId']));
$this->ApiResponse($response, $this->BatteriesService->UndoChargeCycle($args['chargeCycleId']));
return $this->EmptyApiResponse($response);
}
catch (\Exception $ex)

View File

@@ -8,7 +8,7 @@ use \Grocy\Services\UserfieldsService;
class BatteriesController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->BatteriesService = new BatteriesService();
@@ -18,12 +18,12 @@ class BatteriesController extends BaseController
protected $BatteriesService;
protected $UserfieldsService;
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Overview(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$usersService = new UsersService();
$nextXDays = $usersService->GetUserSettings(GROCY_USER_ID)['batteries_due_soon_days'];
return $this->AppContainer->view->render($response, 'batteriesoverview', [
return $this->View->render($response, 'batteriesoverview', [
'batteries' => $this->Database->batteries()->orderBy('name'),
'current' => $this->BatteriesService->GetCurrent(),
'nextXDays' => $nextXDays,
@@ -32,34 +32,34 @@ class BatteriesController extends BaseController
]);
}
public function TrackChargeCycle(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TrackChargeCycle(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'batterytracking', [
return $this->View->render($response, 'batterytracking', [
'batteries' => $this->Database->batteries()->orderBy('name')
]);
}
public function BatteriesList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function BatteriesList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'batteries', [
return $this->View->render($response, 'batteries', [
'batteries' => $this->Database->batteries()->orderBy('name'),
'userfields' => $this->UserfieldsService->GetFields('batteries'),
'userfieldValues' => $this->UserfieldsService->GetAllValues('batteries')
]);
}
public function BatteryEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function BatteryEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['batteryId'] == 'new')
{
return $this->AppContainer->view->render($response, 'batteryform', [
return $this->View->render($response, 'batteryform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('batteries')
]);
}
else
{
return $this->AppContainer->view->render($response, 'batteryform', [
return $this->View->render($response, 'batteryform', [
'battery' => $this->Database->batteries($args['batteryId']),
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('batteries')
@@ -67,16 +67,16 @@ class BatteriesController extends BaseController
}
}
public function Journal(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Journal(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'batteriesjournal', [
return $this->View->render($response, 'batteriesjournal', [
'chargeCycles' => $this->Database->battery_charge_cycles()->orderBy('tracked_time', 'DESC'),
'batteries' => $this->Database->batteries()->orderBy('name')
]);
}
public function BatteriesSettings(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function BatteriesSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'batteriessettings');
return $this->View->render($response, 'batteriessettings');
}
}

View File

@@ -7,7 +7,7 @@ use \Grocy\Services\ApiKeyService;
class CalendarApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->CalendarService = new CalendarService();
@@ -17,7 +17,7 @@ class CalendarApiController extends BaseApiController
protected $CalendarService;
protected $ApiKeyService;
public function Ical(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Ical(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -55,12 +55,12 @@ class CalendarApiController extends BaseApiController
}
}
public function IcalSharingLink(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function IcalSharingLink(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
return $this->ApiResponse(array(
'url' => $this->AppContainer->UrlManager->ConstructUrl('/api/calendar/ical?secret=' . $this->ApiKeyService->GetOrCreateApiKey(ApiKeyService::API_KEY_TYPE_SPECIAL_PURPOSE_CALENDAR_ICAL))
return $this->ApiResponse($response, array(
'url' => $this->AppContainer->get('UrlManager')->ConstructUrl('/api/calendar/ical?secret=' . $this->ApiKeyService->GetOrCreateApiKey(ApiKeyService::API_KEY_TYPE_SPECIAL_PURPOSE_CALENDAR_ICAL))
));
}
catch (\Exception $ex)

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\CalendarService;
class CalendarController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->CalendarService = new CalendarService();
@@ -14,9 +14,9 @@ class CalendarController extends BaseController
protected $CalendarService;
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Overview(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'calendar', [
return $this->View->render($response, 'calendar', [
'fullcalendarEventSources' => $this->CalendarService->GetEvents()
]);
}

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\ChoresService;
class ChoresApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->ChoresService = new ChoresService();
@@ -14,7 +14,7 @@ class ChoresApiController extends BaseApiController
protected $ChoresService;
public function TrackChoreExecution(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TrackChoreExecution(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -33,7 +33,7 @@ class ChoresApiController extends BaseApiController
}
$choreExecutionId = $this->ChoresService->TrackChore($args['choreId'], $trackedTime, $doneBy);
return $this->ApiResponse($this->Database->chores_log($choreExecutionId));
return $this->ApiResponse($response, $this->Database->chores_log($choreExecutionId));
}
catch (\Exception $ex)
{
@@ -41,11 +41,11 @@ class ChoresApiController extends BaseApiController
}
}
public function ChoreDetails(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ChoreDetails(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
return $this->ApiResponse($this->ChoresService->GetChoreDetails($args['choreId']));
return $this->ApiResponse($response, $this->ChoresService->GetChoreDetails($args['choreId']));
}
catch (\Exception $ex)
{
@@ -53,16 +53,16 @@ class ChoresApiController extends BaseApiController
}
}
public function Current(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Current(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse($this->ChoresService->GetCurrent());
return $this->ApiResponse($response, $this->ChoresService->GetCurrent());
}
public function UndoChoreExecution(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UndoChoreExecution(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
$this->ApiResponse($this->ChoresService->UndoChoreExecution($args['executionId']));
$this->ApiResponse($response, $this->ChoresService->UndoChoreExecution($args['executionId']));
return $this->EmptyApiResponse($response);
}
catch (\Exception $ex)
@@ -71,7 +71,7 @@ class ChoresApiController extends BaseApiController
}
}
public function CalculateNextExecutionAssignments(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function CalculateNextExecutionAssignments(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{

View File

@@ -8,7 +8,7 @@ use \Grocy\Services\UserfieldsService;
class ChoresController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->ChoresService = new ChoresService();
@@ -18,12 +18,12 @@ class ChoresController extends BaseController
protected $ChoresService;
protected $UserfieldsService;
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Overview(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$usersService = new UsersService();
$nextXDays = $usersService->GetUserSettings(GROCY_USER_ID)['chores_due_soon_days'];
return $this->AppContainer->view->render($response, 'choresoverview', [
return $this->View->render($response, 'choresoverview', [
'chores' => $this->Database->chores()->orderBy('name'),
'currentChores' => $this->ChoresService->GetCurrent(),
'nextXDays' => $nextXDays,
@@ -33,40 +33,40 @@ class ChoresController extends BaseController
]);
}
public function TrackChoreExecution(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TrackChoreExecution(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'choretracking', [
return $this->View->render($response, 'choretracking', [
'chores' => $this->Database->chores()->orderBy('name'),
'users' => $this->Database->users()->orderBy('username')
]);
}
public function ChoresList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ChoresList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'chores', [
return $this->View->render($response, 'chores', [
'chores' => $this->Database->chores()->orderBy('name'),
'userfields' => $this->UserfieldsService->GetFields('chores'),
'userfieldValues' => $this->UserfieldsService->GetAllValues('chores')
]);
}
public function Journal(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Journal(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'choresjournal', [
return $this->View->render($response, 'choresjournal', [
'choresLog' => $this->Database->chores_log()->orderBy('tracked_time', 'DESC'),
'chores' => $this->Database->chores()->orderBy('name'),
'users' => $this->Database->users()->orderBy('username')
]);
}
public function ChoreEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ChoreEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$usersService = new UsersService();
$users = $usersService->GetUsersAsDto();
if ($args['choreId'] == 'new')
{
return $this->AppContainer->view->render($response, 'choreform', [
return $this->View->render($response, 'choreform', [
'periodTypes' => GetClassConstants('\Grocy\Services\ChoresService', 'CHORE_PERIOD_TYPE_'),
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('chores'),
@@ -77,7 +77,7 @@ class ChoresController extends BaseController
}
else
{
return $this->AppContainer->view->render($response, 'choreform', [
return $this->View->render($response, 'choreform', [
'chore' => $this->Database->chores($args['choreId']),
'periodTypes' => GetClassConstants('\Grocy\Services\ChoresService', 'CHORE_PERIOD_TYPE_'),
'mode' => 'edit',
@@ -89,8 +89,8 @@ class ChoresController extends BaseController
}
}
public function ChoresSettings(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ChoresSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'choressettings');
return $this->View->render($response, 'choressettings');
}
}

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\UserfieldsService;
class EquipmentController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->UserfieldsService = new UserfieldsService();
@@ -14,27 +14,27 @@ class EquipmentController extends BaseController
protected $UserfieldsService;
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Overview(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'equipment', [
return $this->View->render($response, 'equipment', [
'equipment' => $this->Database->equipment()->orderBy('name'),
'userfields' => $this->UserfieldsService->GetFields('equipment'),
'userfieldValues' => $this->UserfieldsService->GetAllValues('equipment')
]);
}
public function EditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function EditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['equipmentId'] == 'new')
{
return $this->AppContainer->view->render($response, 'equipmentform', [
return $this->View->render($response, 'equipmentform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('equipment')
]);
}
else
{
return $this->AppContainer->view->render($response, 'equipmentform', [
return $this->View->render($response, 'equipmentform', [
'equipment' => $this->Database->equipment($args['equipmentId']),
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('equipment')

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\FilesService;
class FilesApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->FilesService = new FilesService();
@@ -14,7 +14,7 @@ class FilesApiController extends BaseApiController
protected $FilesService;
public function UploadFile(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UploadFile(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -38,7 +38,7 @@ class FilesApiController extends BaseApiController
}
}
public function ServeFile(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ServeFile(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -96,7 +96,7 @@ class FilesApiController extends BaseApiController
}
}
public function DeleteFile(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function DeleteFile(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\UserfieldsService;
class GenericEntityApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->UserfieldsService = new UserfieldsService();
@@ -14,11 +14,11 @@ class GenericEntityApiController extends BaseApiController
protected $UserfieldsService;
public function GetObjects(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetObjects(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($this->IsValidEntity($args['entity']) && !$this->IsEntityWithPreventedListing($args['entity']))
{
return $this->ApiResponse($this->Database->{$args['entity']}());
return $this->ApiResponse($response, $this->Database->{$args['entity']}());
}
else
{
@@ -26,11 +26,11 @@ class GenericEntityApiController extends BaseApiController
}
}
public function GetObject(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetObject(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($this->IsValidEntity($args['entity']) && !$this->IsEntityWithPreventedListing($args['entity']))
{
return $this->ApiResponse($this->Database->{$args['entity']}($args['objectId']));
return $this->ApiResponse($response, $this->Database->{$args['entity']}($args['objectId']));
}
else
{
@@ -38,7 +38,7 @@ class GenericEntityApiController extends BaseApiController
}
}
public function AddObject(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function AddObject(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($this->IsValidEntity($args['entity']))
{
@@ -54,7 +54,7 @@ class GenericEntityApiController extends BaseApiController
$newRow = $this->Database->{$args['entity']}()->createRow($requestBody);
$newRow->save();
$success = $newRow->isClean();
return $this->ApiResponse(array(
return $this->ApiResponse($response, array(
'created_object_id' => $this->Database->lastInsertId()
));
}
@@ -69,7 +69,7 @@ class GenericEntityApiController extends BaseApiController
}
}
public function EditObject(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function EditObject(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($this->IsValidEntity($args['entity']))
{
@@ -98,7 +98,7 @@ class GenericEntityApiController extends BaseApiController
}
}
public function DeleteObject(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function DeleteObject(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($this->IsValidEntity($args['entity']))
{
@@ -113,13 +113,13 @@ class GenericEntityApiController extends BaseApiController
}
}
public function SearchObjects(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function SearchObjects(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($this->IsValidEntity($args['entity']) && !$this->IsEntityWithPreventedListing($args['entity']))
{
try
{
return $this->ApiResponse($this->Database->{$args['entity']}()->where('name LIKE ?', '%' . $args['searchString'] . '%'));
return $this->ApiResponse($response, $this->Database->{$args['entity']}()->where('name LIKE ?', '%' . $args['searchString'] . '%'));
}
catch (\PDOException $ex)
{
@@ -132,11 +132,11 @@ class GenericEntityApiController extends BaseApiController
}
}
public function GetUserfields(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetUserfields(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
return $this->ApiResponse($this->UserfieldsService->GetValues($args['entity'], $args['objectId']));
return $this->ApiResponse($response, $this->UserfieldsService->GetValues($args['entity'], $args['objectId']));
}
catch (\Exception $ex)
{
@@ -144,7 +144,7 @@ class GenericEntityApiController extends BaseApiController
}
}
public function SetUserfields(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function SetUserfields(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\UserfieldsService;
class GenericEntityController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->UserfieldsService = new UserfieldsService();
@@ -14,26 +14,26 @@ class GenericEntityController extends BaseController
protected $UserfieldsService;
public function UserfieldsList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UserfieldsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'userfields', [
return $this->View->render($response, 'userfields', [
'userfields' => $this->UserfieldsService->GetAllFields(),
'entities' => $this->UserfieldsService->GetEntities()
]);
}
public function UserentitiesList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UserentitiesList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'userentities', [
return $this->View->render($response, 'userentities', [
'userentities' => $this->Database->userentities()->orderBy('name')
]);
}
public function UserobjectsList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UserobjectsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$userentity = $this->Database->userentities()->where('name = :1', $args['userentityName'])->fetch();
return $this->AppContainer->view->render($response, 'userobjects', [
return $this->View->render($response, 'userobjects', [
'userentity' => $userentity,
'userobjects' => $this->Database->userobjects()->where('userentity_id = :1', $userentity->id),
'userfields' => $this->UserfieldsService->GetFields('userentity-' . $args['userentityName']),
@@ -41,11 +41,11 @@ class GenericEntityController extends BaseController
]);
}
public function UserfieldEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UserfieldEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['userfieldId'] == 'new')
{
return $this->AppContainer->view->render($response, 'userfieldform', [
return $this->View->render($response, 'userfieldform', [
'mode' => 'create',
'userfieldTypes' => $this->UserfieldsService->GetFieldTypes(),
'entities' => $this->UserfieldsService->GetEntities()
@@ -53,7 +53,7 @@ class GenericEntityController extends BaseController
}
else
{
return $this->AppContainer->view->render($response, 'userfieldform', [
return $this->View->render($response, 'userfieldform', [
'mode' => 'edit',
'userfield' => $this->UserfieldsService->GetField($args['userfieldId']),
'userfieldTypes' => $this->UserfieldsService->GetFieldTypes(),
@@ -62,30 +62,30 @@ class GenericEntityController extends BaseController
}
}
public function UserentityEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UserentityEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['userentityId'] == 'new')
{
return $this->AppContainer->view->render($response, 'userentityform', [
return $this->View->render($response, 'userentityform', [
'mode' => 'create'
]);
}
else
{
return $this->AppContainer->view->render($response, 'userentityform', [
return $this->View->render($response, 'userentityform', [
'mode' => 'edit',
'userentity' => $this->Database->userentities($args['userentityId'])
]);
}
}
public function UserobjectEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UserobjectEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$userentity = $this->Database->userentities()->where('name = :1', $args['userentityName'])->fetch();
if ($args['userobjectId'] == 'new')
{
return $this->AppContainer->view->render($response, 'userobjectform', [
return $this->View->render($response, 'userobjectform', [
'userentity' => $userentity,
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('userentity-' . $args['userentityName'])
@@ -93,7 +93,7 @@ class GenericEntityController extends BaseController
}
else
{
return $this->AppContainer->view->render($response, 'userobjectform', [
return $this->View->render($response, 'userobjectform', [
'userentity' => $userentity,
'mode' => 'edit',
'userobject' => $this->Database->userobjects($args['userobjectId']),

View File

@@ -8,7 +8,7 @@ use \Grocy\Services\DemoDataGeneratorService;
class LoginController extends BaseController
{
public function __construct(\Slim\Container $container, string $sessionCookieName)
public function __construct(\DI\Container $container, string $sessionCookieName)
{
parent::__construct($container);
$this->SessionService = new SessionService();
@@ -18,7 +18,7 @@ class LoginController extends BaseController
protected $SessionService;
protected $SessionCookieName;
public function ProcessLogin(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProcessLogin(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$postParams = $request->getParsedBody();
if (isset($postParams['username']) && isset($postParams['password']))
@@ -39,28 +39,28 @@ class LoginController extends BaseController
));
}
return $response->withRedirect($this->AppContainer->UrlManager->ConstructUrl('/'));
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl('/'));
}
else
{
return $response->withRedirect($this->AppContainer->UrlManager->ConstructUrl('/login?invalid=true'));
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl('/login?invalid=true'));
}
}
else
{
return $response->withRedirect($this->AppContainer->UrlManager->ConstructUrl('/login?invalid=true'));
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl('/login?invalid=true'));
}
}
public function LoginPage(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function LoginPage(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'login');
return $this->View->render($response, 'login');
}
public function Logout(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Logout(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$this->SessionService->RemoveSession($_COOKIE[$this->SessionCookieName]);
return $response->withRedirect($this->AppContainer->UrlManager->ConstructUrl('/'));
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl('/'));
}
public function GetSessionCookieName()

View File

@@ -7,7 +7,7 @@ use \Grocy\Services\ApiKeyService;
class OpenApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->ApiKeyService = new ApiKeyService();
@@ -15,35 +15,35 @@ class OpenApiController extends BaseApiController
protected $ApiKeyService;
public function DocumentationUi(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function DocumentationUi(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'openapiui');
return $this->View->render($response, 'openapiui');
}
public function DocumentationSpec(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function DocumentationSpec(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$applicationService = new ApplicationService();
$versionInfo = $applicationService->GetInstalledVersion();
$this->OpenApiSpec->info->version = $versionInfo->Version;
$this->OpenApiSpec->info->description = str_replace('PlaceHolderManageApiKeysUrl', $this->AppContainer->UrlManager->ConstructUrl('/manageapikeys'), $this->OpenApiSpec->info->description);
$this->OpenApiSpec->servers[0]->url = $this->AppContainer->UrlManager->ConstructUrl('/api');
$this->OpenApiSpec->info->description = str_replace('PlaceHolderManageApiKeysUrl', $this->AppContainer->get('UrlManager')->ConstructUrl('/manageapikeys'), $this->OpenApiSpec->info->description);
$this->OpenApiSpec->servers[0]->url = $this->AppContainer->get('UrlManager')->ConstructUrl('/api');
return $this->ApiResponse($this->OpenApiSpec);
return $this->ApiResponse($response, $this->OpenApiSpec);
}
public function ApiKeysList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ApiKeysList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'manageapikeys', [
return $this->View->render($response, 'manageapikeys', [
'apiKeys' => $this->Database->api_keys(),
'users' => $this->Database->users()
]);
}
public function CreateNewApiKey(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function CreateNewApiKey(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$newApiKey = $this->ApiKeyService->CreateApiKey();
$newApiKeyId = $this->ApiKeyService->GetApiKeyId($newApiKey);
return $response->withRedirect($this->AppContainer->UrlManager->ConstructUrl("/manageapikeys?CreatedApiKeyId=$newApiKeyId"));
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl("/manageapikeys?CreatedApiKeyId=$newApiKeyId"));
}
}

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\RecipesService;
class RecipesApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->RecipesService = new RecipesService();
@@ -14,7 +14,7 @@ class RecipesApiController extends BaseApiController
protected $RecipesService;
public function AddNotFulfilledProductsToShoppingList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function AddNotFulfilledProductsToShoppingList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
$excludedProductIds = null;
@@ -28,7 +28,7 @@ class RecipesApiController extends BaseApiController
return $this->EmptyApiResponse($response);
}
public function ConsumeRecipe(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ConsumeRecipe(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -41,13 +41,13 @@ class RecipesApiController extends BaseApiController
}
}
public function GetRecipeFulfillment(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetRecipeFulfillment(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
if(!isset($args['recipeId']))
{
return $this->ApiResponse($this->RecipesService->GetRecipesResolved());
return $this->ApiResponse($response, $this->RecipesService->GetRecipesResolved());
}
$recipeResolved = FindObjectInArrayByPropertyValue($this->RecipesService->GetRecipesResolved(), 'recipe_id', $args['recipeId']);
@@ -57,7 +57,7 @@ class RecipesApiController extends BaseApiController
}
else
{
return $this->ApiResponse($recipeResolved);
return $this->ApiResponse($response, $recipeResolved);
}
}
catch (\Exception $ex)

View File

@@ -8,7 +8,7 @@ use \Grocy\Services\UserfieldsService;
class RecipesController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->RecipesService = new RecipesService();
@@ -20,7 +20,7 @@ class RecipesController extends BaseController
protected $StockService;
protected $UserfieldsService;
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Overview(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$recipes = $this->Database->recipes()->where('type', RecipesService::RECIPE_TYPE_NORMAL)->orderBy('name');
$recipesResolved = $this->RecipesService->GetRecipesResolved();
@@ -52,7 +52,7 @@ class RecipesController extends BaseController
$includedRecipeIdsAbsolute[] = $subRecipe->id;
}
return $this->AppContainer->view->render($response, 'recipes', [
return $this->View->render($response, 'recipes', [
'recipes' => $recipes,
'recipesResolved' => $recipesResolved,
'recipePositionsResolved' => $this->Database->recipes_pos_resolved()->where('recipe_type', RecipesService::RECIPE_TYPE_NORMAL),
@@ -71,7 +71,7 @@ class RecipesController extends BaseController
]);
}
public function RecipeEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function RecipeEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$recipeId = $args['recipeId'];
if ($recipeId == 'new')
@@ -84,7 +84,7 @@ class RecipesController extends BaseController
$recipeId = $this->Database->lastInsertId();
}
return $this->AppContainer->view->render($response, 'recipeform', [
return $this->View->render($response, 'recipeform', [
'recipe' => $this->Database->recipes($recipeId),
'recipePositions' => $this->Database->recipes_pos()->where('recipe_id', $recipeId),
'mode' => 'edit',
@@ -99,11 +99,11 @@ class RecipesController extends BaseController
]);
}
public function RecipePosEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function RecipePosEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['recipePosId'] == 'new')
{
return $this->AppContainer->view->render($response, 'recipeposform', [
return $this->View->render($response, 'recipeposform', [
'mode' => 'create',
'recipe' => $this->Database->recipes($args['recipeId']),
'recipePos' => new \stdClass(),
@@ -114,7 +114,7 @@ class RecipesController extends BaseController
}
else
{
return $this->AppContainer->view->render($response, 'recipeposform', [
return $this->View->render($response, 'recipeposform', [
'mode' => 'edit',
'recipe' => $this->Database->recipes($args['recipeId']),
'recipePos' => $this->Database->recipes_pos($args['recipePosId']),
@@ -125,12 +125,12 @@ class RecipesController extends BaseController
}
}
public function RecipesSettings(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function RecipesSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'recipessettings');
return $this->View->render($response, 'recipessettings');
}
public function MealPlan(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function MealPlan(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$recipes = $this->Database->recipes()->where('type', RecipesService::RECIPE_TYPE_NORMAL)->fetchAll();
@@ -162,7 +162,7 @@ class RecipesController extends BaseController
);
}
return $this->AppContainer->view->render($response, 'mealplan', [
return $this->View->render($response, 'mealplan', [
'fullcalendarEventSources' => $events,
'recipes' => $recipes,
'internalRecipes' => $this->Database->recipes()->whereNot('type', RecipesService::RECIPE_TYPE_NORMAL)->fetchAll(),

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\StockService;
class StockApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->StockService = new StockService();
@@ -14,11 +14,11 @@ class StockApiController extends BaseApiController
protected $StockService;
public function ProductDetails(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductDetails(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
return $this->ApiResponse($this->StockService->GetProductDetails($args['productId']));
return $this->ApiResponse($response, $this->StockService->GetProductDetails($args['productId']));
}
catch (\Exception $ex)
{
@@ -26,12 +26,12 @@ class StockApiController extends BaseApiController
}
}
public function ProductDetailsByBarcode(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductDetailsByBarcode(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
$productId = $this->StockService->GetProductIdFromBarcode($args['barcode']);
return $this->ApiResponse($this->StockService->GetProductDetails($productId));
return $this->ApiResponse($response, $this->StockService->GetProductDetails($productId));
}
catch (\Exception $ex)
{
@@ -39,11 +39,11 @@ class StockApiController extends BaseApiController
}
}
public function ProductPriceHistory(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductPriceHistory(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
return $this->ApiResponse($this->StockService->GetProductPriceHistory($args['productId']));
return $this->ApiResponse($response, $this->StockService->GetProductPriceHistory($args['productId']));
}
catch (\Exception $ex)
{
@@ -51,7 +51,7 @@ class StockApiController extends BaseApiController
}
}
public function AddProduct(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function AddProduct(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -92,7 +92,7 @@ class StockApiController extends BaseApiController
}
$bookingId = $this->StockService->AddProduct($args['productId'], $requestBody['amount'], $bestBeforeDate, $transactionType, date('Y-m-d'), $price, $locationId);
return $this->ApiResponse($this->Database->stock_log($bookingId));
return $this->ApiResponse($response, $this->Database->stock_log($bookingId));
}
catch (\Exception $ex)
{
@@ -100,7 +100,7 @@ class StockApiController extends BaseApiController
}
}
public function AddProductByBarcode(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function AddProductByBarcode(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -113,7 +113,7 @@ class StockApiController extends BaseApiController
}
}
public function EditStockEntry(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function EditStockEntry(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -148,7 +148,7 @@ class StockApiController extends BaseApiController
}
$bookingId = $this->StockService->EditStockEntry($args['entryId'], $requestBody['amount'], $bestBeforeDate, $locationId, $price, $requestBody['open'], $requestBody['purchased_date']);
return $this->ApiResponse($this->Database->stock_log($bookingId));
return $this->ApiResponse($response, $this->Database->stock_log($bookingId));
}
catch (\Exception $ex)
{
@@ -156,7 +156,7 @@ class StockApiController extends BaseApiController
}
}
public function TransferProduct(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TransferProduct(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -189,7 +189,7 @@ class StockApiController extends BaseApiController
}
$bookingId = $this->StockService->TransferProduct($args['productId'], $requestBody['amount'], $requestBody['location_id_from'], $requestBody['location_id_to'], $specificStockEntryId);
return $this->ApiResponse($this->Database->stock_log($bookingId));
return $this->ApiResponse($response, $this->Database->stock_log($bookingId));
}
catch (\Exception $ex)
{
@@ -197,7 +197,7 @@ class StockApiController extends BaseApiController
}
}
public function TransferProductByBarcode(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TransferProductByBarcode(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -210,7 +210,7 @@ class StockApiController extends BaseApiController
}
}
public function ConsumeProduct(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ConsumeProduct(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -257,7 +257,7 @@ class StockApiController extends BaseApiController
}
$bookingId = $this->StockService->ConsumeProduct($args['productId'], $requestBody['amount'], $spoiled, $transactionType, $specificStockEntryId, $recipeId, $locationId);
return $this->ApiResponse($this->Database->stock_log($bookingId));
return $this->ApiResponse($response, $this->Database->stock_log($bookingId));
}
catch (\Exception $ex)
{
@@ -265,7 +265,7 @@ class StockApiController extends BaseApiController
}
}
public function ConsumeProductByBarcode(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ConsumeProductByBarcode(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -278,7 +278,7 @@ class StockApiController extends BaseApiController
}
}
public function InventoryProduct(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function InventoryProduct(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -313,7 +313,7 @@ class StockApiController extends BaseApiController
}
$bookingId = $this->StockService->InventoryProduct($args['productId'], $requestBody['new_amount'], $bestBeforeDate, $locationId, $price);
return $this->ApiResponse($this->Database->stock_log($bookingId));
return $this->ApiResponse($response, $this->Database->stock_log($bookingId));
}
catch (\Exception $ex)
{
@@ -321,7 +321,7 @@ class StockApiController extends BaseApiController
}
}
public function InventoryProductByBarcode(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function InventoryProductByBarcode(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -334,7 +334,7 @@ class StockApiController extends BaseApiController
}
}
public function OpenProduct(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function OpenProduct(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -357,7 +357,7 @@ class StockApiController extends BaseApiController
}
$bookingId = $this->StockService->OpenProduct($args['productId'], $requestBody['amount'], $specificStockEntryId);
return $this->ApiResponse($this->Database->stock_log($bookingId));
return $this->ApiResponse($response, $this->Database->stock_log($bookingId));
}
catch (\Exception $ex)
{
@@ -365,7 +365,7 @@ class StockApiController extends BaseApiController
}
}
public function OpenProductByBarcode(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function OpenProductByBarcode(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -378,12 +378,12 @@ class StockApiController extends BaseApiController
}
}
public function CurrentStock(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function CurrentStock(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse($this->StockService->GetCurrentStock());
return $this->ApiResponse($response, $this->StockService->GetCurrentStock());
}
public function CurrentVolatileStock(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function CurrentVolatileStock(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$nextXDays = 5;
if (isset($request->getQueryParams()['expiring_days']) && !empty($request->getQueryParams()['expiring_days']) && is_numeric($request->getQueryParams()['expiring_days']))
@@ -394,14 +394,14 @@ class StockApiController extends BaseApiController
$expiringProducts = $this->StockService->GetExpiringProducts($nextXDays, true);
$expiredProducts = $this->StockService->GetExpiringProducts(-1);
$missingProducts = $this->StockService->GetMissingProducts();
return $this->ApiResponse(array(
return $this->ApiResponse($response, array(
'expiring_products' => $expiringProducts,
'expired_products' => $expiredProducts,
'missing_products' => $missingProducts
));
}
public function AddMissingProductsToShoppingList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function AddMissingProductsToShoppingList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -422,7 +422,7 @@ class StockApiController extends BaseApiController
}
}
public function ClearShoppingList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ClearShoppingList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -444,7 +444,7 @@ class StockApiController extends BaseApiController
}
public function AddProductToShoppingList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function AddProductToShoppingList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -485,7 +485,7 @@ class StockApiController extends BaseApiController
}
}
public function RemoveProductFromShoppingList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function RemoveProductFromShoppingList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -521,7 +521,7 @@ class StockApiController extends BaseApiController
}
}
public function ExternalBarcodeLookup(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ExternalBarcodeLookup(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -531,7 +531,7 @@ class StockApiController extends BaseApiController
$addFoundProduct = true;
}
return $this->ApiResponse($this->StockService->ExternalBarcodeLookup($args['barcode'], $addFoundProduct));
return $this->ApiResponse($response, $this->StockService->ExternalBarcodeLookup($args['barcode'], $addFoundProduct));
}
catch (\Exception $ex)
{
@@ -539,11 +539,11 @@ class StockApiController extends BaseApiController
}
}
public function UndoBooking(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UndoBooking(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
$this->ApiResponse($this->StockService->UndoBooking($args['bookingId']));
$this->ApiResponse($response, $this->StockService->UndoBooking($args['bookingId']));
return $this->EmptyApiResponse($response);
}
catch (\Exception $ex)
@@ -552,11 +552,11 @@ class StockApiController extends BaseApiController
}
}
public function UndoTransaction(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UndoTransaction(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
$this->ApiResponse($this->StockService->UndoTransaction($args['transactionId']));
$this->ApiResponse($response, $this->StockService->UndoTransaction($args['transactionId']));
return $this->EmptyApiResponse($response);
}
catch (\Exception $ex)
@@ -565,7 +565,7 @@ class StockApiController extends BaseApiController
}
}
public function ProductStockEntries(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductStockEntries(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$allowSubproductSubstitution = false;
if (isset($request->getQueryParams()['include_sub_products']) && filter_var($request->getQueryParams()['include_sub_products'], FILTER_VALIDATE_BOOLEAN))
@@ -573,20 +573,20 @@ class StockApiController extends BaseApiController
$allowSubproductSubstitution = true;
}
return $this->ApiResponse($this->StockService->GetProductStockEntries($args['productId'], false, $allowSubproductSubstitution));
return $this->ApiResponse($response, $this->StockService->GetProductStockEntries($args['productId'], false, $allowSubproductSubstitution));
}
public function ProductStockLocations(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductStockLocations(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse($this->StockService->GetProductStockLocations($args['productId']));
return $this->ApiResponse($response, $this->StockService->GetProductStockLocations($args['productId']));
}
public function StockEntry(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function StockEntry(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse($this->StockService->GetStockEntry($args['entryId']));
return $this->ApiResponse($response, $this->StockService->GetStockEntry($args['entryId']));
}
public function StockBooking(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function StockBooking(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -597,7 +597,7 @@ class StockApiController extends BaseApiController
throw new \Exception('Stock booking does not exist');
}
return $this->ApiResponse($stockLogRow);
return $this->ApiResponse($response, $stockLogRow);
}
catch (\Exception $ex)
{
@@ -605,7 +605,7 @@ class StockApiController extends BaseApiController
}
}
public function StockTransactions(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function StockTransactions(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -616,7 +616,7 @@ class StockApiController extends BaseApiController
throw new \Exception('No transaction was found by the given transaction id');
}
return $this->ApiResponse($transactionRows);
return $this->ApiResponse($response, $transactionRows);
}
catch (\Exception $ex)
{

View File

@@ -9,7 +9,7 @@ use \Grocy\Services\UserfieldsService;
class StockController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->StockService = new StockService();
@@ -19,12 +19,12 @@ class StockController extends BaseController
protected $StockService;
protected $UserfieldsService;
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Overview(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$usersService = new UsersService();
$nextXDays = $usersService->GetUserSettings(GROCY_USER_ID)['stock_expring_soon_days'];
return $this->AppContainer->view->render($response, 'stockoverview', [
return $this->View->render($response, 'stockoverview', [
'products' => $this->Database->products()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name'),
@@ -38,12 +38,12 @@ class StockController extends BaseController
]);
}
public function Stockentries(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Stockentries(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$usersService = new UsersService();
$nextXDays = $usersService->GetUserSettings(GROCY_USER_ID)['stock_expring_soon_days'];
return $this->AppContainer->view->render($response, 'stockentries', [
return $this->View->render($response, 'stockentries', [
'products' => $this->Database->products()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name'),
@@ -55,50 +55,50 @@ class StockController extends BaseController
]);
}
public function Purchase(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Purchase(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'purchase', [
return $this->View->render($response, 'purchase', [
'products' => $this->Database->products()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name')
]);
}
public function Consume(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Consume(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'consume', [
return $this->View->render($response, 'consume', [
'products' => $this->Database->products()->orderBy('name'),
'recipes' => $this->Database->recipes()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name')
]);
}
public function Transfer(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Transfer(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'transfer', [
return $this->View->render($response, 'transfer', [
'products' => $this->Database->products()->orderBy('name'),
'recipes' => $this->Database->recipes()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name')
]);
}
public function Inventory(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Inventory(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'inventory', [
return $this->View->render($response, 'inventory', [
'products' => $this->Database->products()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name')
]);
}
public function StockEntryEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function StockEntryEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'stockentryform', [
return $this->View->render($response, 'stockentryform', [
'stockEntry' => $this->Database->stock()->where('id', $args['entryId'])->fetch(),
'products' => $this->Database->products()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name')
]);
}
public function ShoppingList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ShoppingList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$listId = 1;
if (isset($request->getQueryParams()['list']))
@@ -106,7 +106,7 @@ class StockController extends BaseController
$listId = $request->getQueryParams()['list'];
}
return $this->AppContainer->view->render($response, 'shoppinglist', [
return $this->View->render($response, 'shoppinglist', [
'listItems' => $this->Database->shopping_list()->where('shopping_list_id = :1', $listId),
'products' => $this->Database->products()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
@@ -119,9 +119,9 @@ class StockController extends BaseController
]);
}
public function ProductsList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'products', [
return $this->View->render($response, 'products', [
'products' => $this->Database->products()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
@@ -131,27 +131,27 @@ class StockController extends BaseController
]);
}
public function StockSettings(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function StockSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'stocksettings', [
return $this->View->render($response, 'stocksettings', [
'locations' => $this->Database->locations()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'productGroups' => $this->Database->product_groups()->orderBy('name')
]);
}
public function LocationsList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function LocationsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'locations', [
return $this->View->render($response, 'locations', [
'locations' => $this->Database->locations()->orderBy('name'),
'userfields' => $this->UserfieldsService->GetFields('locations'),
'userfieldValues' => $this->UserfieldsService->GetAllValues('locations')
]);
}
public function ProductGroupsList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductGroupsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'productgroups', [
return $this->View->render($response, 'productgroups', [
'productGroups' => $this->Database->product_groups()->orderBy('name'),
'products' => $this->Database->products()->orderBy('name'),
'userfields' => $this->UserfieldsService->GetFields('product_groups'),
@@ -159,20 +159,20 @@ class StockController extends BaseController
]);
}
public function QuantityUnitsList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function QuantityUnitsList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'quantityunits', [
return $this->View->render($response, 'quantityunits', [
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'userfields' => $this->UserfieldsService->GetFields('quantity_units'),
'userfieldValues' => $this->UserfieldsService->GetAllValues('quantity_units')
]);
}
public function ProductEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['productId'] == 'new')
{
return $this->AppContainer->view->render($response, 'productform', [
return $this->View->render($response, 'productform', [
'locations' => $this->Database->locations()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'productgroups' => $this->Database->product_groups()->orderBy('name'),
@@ -186,7 +186,7 @@ class StockController extends BaseController
{
$product = $this->Database->products($args['productId']);
return $this->AppContainer->view->render($response, 'productform', [
return $this->View->render($response, 'productform', [
'product' => $product,
'locations' => $this->Database->locations()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
@@ -200,18 +200,18 @@ class StockController extends BaseController
}
}
public function LocationEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function LocationEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['locationId'] == 'new')
{
return $this->AppContainer->view->render($response, 'locationform', [
return $this->View->render($response, 'locationform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('locations')
]);
}
else
{
return $this->AppContainer->view->render($response, 'locationform', [
return $this->View->render($response, 'locationform', [
'location' => $this->Database->locations($args['locationId']),
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('locations')
@@ -219,18 +219,18 @@ class StockController extends BaseController
}
}
public function ProductGroupEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ProductGroupEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['productGroupId'] == 'new')
{
return $this->AppContainer->view->render($response, 'productgroupform', [
return $this->View->render($response, 'productgroupform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('product_groups')
]);
}
else
{
return $this->AppContainer->view->render($response, 'productgroupform', [
return $this->View->render($response, 'productgroupform', [
'group' => $this->Database->product_groups($args['productGroupId']),
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('product_groups')
@@ -238,11 +238,11 @@ class StockController extends BaseController
}
}
public function QuantityUnitEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function QuantityUnitEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['quantityunitId'] == 'new')
{
return $this->AppContainer->view->render($response, 'quantityunitform', [
return $this->View->render($response, 'quantityunitform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('quantity_units'),
'pluralCount' => $this->LocalizationService->GetPluralCount(),
@@ -253,7 +253,7 @@ class StockController extends BaseController
{
$quantityUnit = $this->Database->quantity_units($args['quantityunitId']);
return $this->AppContainer->view->render($response, 'quantityunitform', [
return $this->View->render($response, 'quantityunitform', [
'quantityUnit' => $quantityUnit,
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('quantity_units'),
@@ -265,11 +265,11 @@ class StockController extends BaseController
}
}
public function ShoppingListItemEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ShoppingListItemEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['itemId'] == 'new')
{
return $this->AppContainer->view->render($response, 'shoppinglistitemform', [
return $this->View->render($response, 'shoppinglistitemform', [
'products' => $this->Database->products()->orderBy('name'),
'shoppingLists' => $this->Database->shopping_lists()->orderBy('name'),
'mode' => 'create'
@@ -277,7 +277,7 @@ class StockController extends BaseController
}
else
{
return $this->AppContainer->view->render($response, 'shoppinglistitemform', [
return $this->View->render($response, 'shoppinglistitemform', [
'listItem' => $this->Database->shopping_list($args['itemId']),
'products' => $this->Database->products()->orderBy('name'),
'shoppingLists' => $this->Database->shopping_lists()->orderBy('name'),
@@ -286,31 +286,31 @@ class StockController extends BaseController
}
}
public function ShoppingListEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ShoppingListEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['listId'] == 'new')
{
return $this->AppContainer->view->render($response, 'shoppinglistform', [
return $this->View->render($response, 'shoppinglistform', [
'mode' => 'create'
]);
}
else
{
return $this->AppContainer->view->render($response, 'shoppinglistform', [
return $this->View->render($response, 'shoppinglistform', [
'shoppingList' => $this->Database->shopping_lists($args['listId']),
'mode' => 'edit'
]);
}
}
public function ShoppingListSettings(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function ShoppingListSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'shoppinglistsettings');
return $this->View->render($response, 'shoppinglistsettings');
}
public function Journal(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Journal(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'stockjournal', [
return $this->View->render($response, 'stockjournal', [
'stockLog' => $this->Database->stock_log()->orderBy('row_created_timestamp', 'DESC'),
'locations' => $this->Database->locations()->orderBy('name'),
'products' => $this->Database->products()->orderBy('name'),
@@ -318,9 +318,9 @@ class StockController extends BaseController
]);
}
public function LocationContentSheet(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function LocationContentSheet(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'locationcontentsheet', [
return $this->View->render($response, 'locationcontentsheet', [
'products' => $this->Database->products()->orderBy('name'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
'locations' => $this->Database->locations()->orderBy('name'),
@@ -328,7 +328,7 @@ class StockController extends BaseController
]);
}
public function QuantityUnitConversionEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function QuantityUnitConversionEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$product = null;
if (isset($request->getQueryParams()['product']))
@@ -344,7 +344,7 @@ class StockController extends BaseController
if ($args['quConversionId'] == 'new')
{
return $this->AppContainer->view->render($response, 'quantityunitconversionform', [
return $this->View->render($response, 'quantityunitconversionform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('quantity_unit_conversions'),
'quantityunits' => $this->Database->quantity_units()->orderBy('name'),
@@ -354,7 +354,7 @@ class StockController extends BaseController
}
else
{
return $this->AppContainer->view->render($response, 'quantityunitconversionform', [
return $this->View->render($response, 'quantityunitconversionform', [
'quConversion' => $this->Database->quantity_unit_conversions($args['quConversionId']),
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('quantity_unit_conversions'),
@@ -365,9 +365,9 @@ class StockController extends BaseController
}
}
public function QuantityUnitPluralFormTesting(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function QuantityUnitPluralFormTesting(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'quantityunitpluraltesting', [
return $this->View->render($response, 'quantityunitpluraltesting', [
'quantityUnits' => $this->Database->quantity_units()->orderBy('name')
]);
}

View File

@@ -7,7 +7,7 @@ use \Grocy\Services\ApplicationService;
class SystemApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->DatabaseService = new DatabaseService();
@@ -17,14 +17,14 @@ class SystemApiController extends BaseApiController
protected $DatabaseService;
protected $ApplicationService;
public function GetDbChangedTime(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetDbChangedTime(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse(array(
return $this->ApiResponse($response, array(
'changed_time' => $this->DatabaseService->GetDbChangedTime()
));
}
public function LogMissingLocalization(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function LogMissingLocalization(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if (GROCY_MODE === 'dev')
{
@@ -42,8 +42,8 @@ class SystemApiController extends BaseApiController
}
}
public function GetSystemInfo(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetSystemInfo(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse($this->ApplicationService->GetSystemInfo());
return $this->ApiResponse($response, $this->ApplicationService->GetSystemInfo());
}
}

View File

@@ -10,13 +10,13 @@ class SystemController extends BaseController
{
protected $ApplicationService;
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->ApplicationService = new ApplicationService();
}
public function Root(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Root(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
// Schema migration is done here
$databaseMigrationService = new DatabaseMigrationService();
@@ -28,7 +28,7 @@ class SystemController extends BaseController
$demoDataGeneratorService->PopulateDemoData();
}
return $response->withRedirect($this->AppContainer->UrlManager->ConstructUrl($this->GetEntryPageRelative()));
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl($this->GetEntryPageRelative()));
}
/**
@@ -94,16 +94,16 @@ class SystemController extends BaseController
return '/about';
}
public function About(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function About(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'about', [
return $this->View->render($response, 'about', [
'system_info' => $this->ApplicationService->GetSystemInfo(),
'changelog' => $this->ApplicationService->GetChangelog()
]);
}
public function BarcodeScannerTesting(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function BarcodeScannerTesting(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'barcodescannertesting');
return $this->View->render($response, 'barcodescannertesting');
}
}

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\TasksService;
class TasksApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->TasksService = new TasksService();
@@ -14,12 +14,12 @@ class TasksApiController extends BaseApiController
protected $TasksService;
public function Current(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Current(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->ApiResponse($this->TasksService->GetCurrent());
return $this->ApiResponse($response, $this->TasksService->GetCurrent());
}
public function MarkTaskAsCompleted(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function MarkTaskAsCompleted(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -40,7 +40,7 @@ class TasksApiController extends BaseApiController
}
}
public function UndoTask(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UndoTask(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{

View File

@@ -8,7 +8,7 @@ use \Grocy\Services\UserfieldsService;
class TasksController extends BaseController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->TasksService = new TasksService();
@@ -18,7 +18,7 @@ class TasksController extends BaseController
protected $TasksService;
protected $UserfieldsService;
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function Overview(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if (isset($request->getQueryParams()['include_done']))
{
@@ -32,7 +32,7 @@ class TasksController extends BaseController
$usersService = new UsersService();
$nextXDays = $usersService->GetUserSettings(GROCY_USER_ID)['tasks_due_soon_days'];
return $this->AppContainer->view->render($response, 'tasks', [
return $this->View->render($response, 'tasks', [
'tasks' => $tasks,
'nextXDays' => $nextXDays,
'taskCategories' => $this->Database->task_categories()->orderBy('name'),
@@ -42,11 +42,11 @@ class TasksController extends BaseController
]);
}
public function TaskEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TaskEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['taskId'] == 'new')
{
return $this->AppContainer->view->render($response, 'taskform', [
return $this->View->render($response, 'taskform', [
'mode' => 'create',
'taskCategories' => $this->Database->task_categories()->orderBy('name'),
'users' => $this->Database->users()->orderBy('username'),
@@ -55,7 +55,7 @@ class TasksController extends BaseController
}
else
{
return $this->AppContainer->view->render($response, 'taskform', [
return $this->View->render($response, 'taskform', [
'task' => $this->Database->tasks($args['taskId']),
'mode' => 'edit',
'taskCategories' => $this->Database->task_categories()->orderBy('name'),
@@ -65,27 +65,27 @@ class TasksController extends BaseController
}
}
public function TaskCategoriesList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TaskCategoriesList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'taskcategories', [
return $this->View->render($response, 'taskcategories', [
'taskCategories' => $this->Database->task_categories()->orderBy('name'),
'userfields' => $this->UserfieldsService->GetFields('task_categories'),
'userfieldValues' => $this->UserfieldsService->GetAllValues('task_categories')
]);
}
public function TaskCategoryEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TaskCategoryEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['categoryId'] == 'new')
{
return $this->AppContainer->view->render($response, 'taskcategoryform', [
return $this->View->render($response, 'taskcategoryform', [
'mode' => 'create',
'userfields' => $this->UserfieldsService->GetFields('task_categories')
]);
}
else
{
return $this->AppContainer->view->render($response, 'taskcategoryform', [
return $this->View->render($response, 'taskcategoryform', [
'category' => $this->Database->task_categories($args['categoryId']),
'mode' => 'edit',
'userfields' => $this->UserfieldsService->GetFields('task_categories')
@@ -93,8 +93,8 @@ class TasksController extends BaseController
}
}
public function TasksSettings(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function TasksSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'taskssettings');
return $this->View->render($response, 'taskssettings');
}
}

View File

@@ -6,7 +6,7 @@ use \Grocy\Services\UsersService;
class UsersApiController extends BaseApiController
{
public function __construct(\Slim\Container $container)
public function __construct(\DI\Container $container)
{
parent::__construct($container);
$this->UsersService = new UsersService();
@@ -14,11 +14,11 @@ class UsersApiController extends BaseApiController
protected $UsersService;
public function GetUsers(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetUsers(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
return $this->ApiResponse($this->UsersService->GetUsersAsDto());
return $this->ApiResponse($response, $this->UsersService->GetUsersAsDto());
}
catch (\Exception $ex)
{
@@ -26,7 +26,7 @@ class UsersApiController extends BaseApiController
}
}
public function CreateUser(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function CreateUser(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -46,7 +46,7 @@ class UsersApiController extends BaseApiController
}
}
public function DeleteUser(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function DeleteUser(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
@@ -59,7 +59,7 @@ class UsersApiController extends BaseApiController
}
}
public function EditUser(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function EditUser(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
$requestBody = $request->getParsedBody();
@@ -74,12 +74,12 @@ class UsersApiController extends BaseApiController
}
}
public function GetUserSetting(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function GetUserSetting(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{
$value = $this->UsersService->GetUserSetting(GROCY_USER_ID, $args['settingKey']);
return $this->ApiResponse(array('value' => $value));
return $this->ApiResponse($response, array('value' => $value));
}
catch (\Exception $ex)
{
@@ -87,7 +87,7 @@ class UsersApiController extends BaseApiController
}
}
public function SetUserSetting(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function SetUserSetting(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{

View File

@@ -4,24 +4,24 @@ namespace Grocy\Controllers;
class UsersController extends BaseController
{
public function UsersList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UsersList(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
return $this->AppContainer->view->render($response, 'users', [
return $this->View->render($response, 'users', [
'users' => $this->Database->users()->orderBy('username')
]);
}
public function UserEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
public function UserEditForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
if ($args['userId'] == 'new')
{
return $this->AppContainer->view->render($response, 'userform', [
return $this->View->render($response, 'userform', [
'mode' => 'create'
]);
}
else
{
return $this->AppContainer->view->render($response, 'userform', [
return $this->View->render($response, 'userform', [
'user' => $this->Database->users($args['userId']),
'mode' => 'edit'
]);