Files
grocy/controllers/HabitsController.php

65 lines
1.8 KiB
PHP
Raw Normal View History

2018-04-11 19:49:35 +02:00
<?php
namespace Grocy\Controllers;
2018-04-12 21:13:38 +02:00
use \Grocy\Services\HabitsService;
2018-04-11 19:49:35 +02:00
class HabitsController extends BaseController
{
public function __construct(\Slim\Container $container)
{
parent::__construct($container);
$this->HabitsService = new HabitsService();
}
protected $HabitsService;
2018-04-12 21:13:38 +02:00
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
2018-04-11 19:49:35 +02:00
{
2018-04-12 21:13:38 +02:00
$nextHabitTimes = array();
foreach($this->Database->habits() as $habit)
{
$nextHabitTimes[$habit->id] = $this->HabitsService->GetNextHabitTime($habit->id);
}
2018-04-11 19:49:35 +02:00
return $this->AppContainer->view->render($response, 'habitsoverview', [
'habits' => $this->Database->habits(),
'currentHabits' => $this->HabitsService->GetCurrentHabits(),
2018-04-12 21:13:38 +02:00
'nextHabitTimes' => $nextHabitTimes
2018-04-11 19:49:35 +02:00
]);
}
2018-04-12 21:13:38 +02:00
public function TrackHabitExecution(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
2018-04-11 19:49:35 +02:00
{
return $this->AppContainer->view->render($response, 'habittracking', [
'habits' => $this->Database->habits()
]);
}
2018-04-12 21:13:38 +02:00
public function HabitsList(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
2018-04-11 19:49:35 +02:00
{
return $this->AppContainer->view->render($response, 'habits', [
'habits' => $this->Database->habits()
]);
}
2018-04-12 21:13:38 +02:00
public function HabitEditForm(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
2018-04-11 19:49:35 +02:00
{
if ($args['habitId'] == 'new')
{
return $this->AppContainer->view->render($response, 'habitform', [
2018-04-12 21:13:38 +02:00
'periodTypes' => GetClassConstants('\Grocy\Services\HabitsService'),
2018-04-11 19:49:35 +02:00
'mode' => 'create'
]);
}
else
{
return $this->AppContainer->view->render($response, 'habitform', [
'habit' => $this->Database->habits($args['habitId']),
2018-04-12 21:13:38 +02:00
'periodTypes' => GetClassConstants('\Grocy\Services\HabitsService'),
2018-04-11 19:49:35 +02:00
'mode' => 'edit'
]);
}
}
}