svg
This commit is contained in:
@ -2,8 +2,6 @@
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Repository\IssueRepository;
|
||||
use App\Service\RedmineService;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
@ -11,49 +9,15 @@ use Symfony\Component\Routing\Attribute\Route;
|
||||
|
||||
class HomeController extends AbstractController
|
||||
{
|
||||
private RedmineService $redmineService;
|
||||
|
||||
public function __construct(RedmineService $redmineService)
|
||||
{
|
||||
$this->redmineService = $redmineService;
|
||||
}
|
||||
|
||||
#[Route('/', name: 'app_home')]
|
||||
public function home(Request $request): Response
|
||||
{
|
||||
$project = $request->getSession()->get('project');
|
||||
if (!$project) {
|
||||
return $this->noproject();
|
||||
}
|
||||
|
||||
$redmine = $this->redmineService->getProject($project->getId(), $this->getParameter('redmineApikey'));
|
||||
$project->setRedmine($redmine);
|
||||
$this->redmineService->majProjectIssues($project, $this->getParameter('redmineApikey'), false);
|
||||
|
||||
$predmine = $project->getRedmine();
|
||||
|
||||
foreach ($project->getIssues() as $issue) {
|
||||
foreach ($predmine['sprints'] as $key => $sprint) {
|
||||
if ($sprint['id'] === $issue->getRedmine()['sprint']['agile_sprint_id']) {
|
||||
if (!array_key_exists('story_points', $predmine['sprints'][$key])) {
|
||||
$predmine['sprints'][$key]['story_points']['total'] = 0;
|
||||
}
|
||||
$predmine['sprints'][$key]['story_points']['total'] += $issue->getRedmine()['sprint']['story_points'];
|
||||
|
||||
if (!array_key_exists($issue->getRedmine()['status']['id'], $predmine['sprints'][$key]['story_points'])) {
|
||||
$predmine['sprints'][$key]['story_points'][$issue->getRedmine()['status']['id']] = 0;
|
||||
}
|
||||
$predmine['sprints'][$key]['story_points'][$issue->getRedmine()['status']['id']] += $issue->getRedmine()['sprint']['story_points'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$project->setRedmine($predmine);
|
||||
$projects = $this->getUser()->getProjects();
|
||||
|
||||
return $this->render('home/home.html.twig', [
|
||||
'usemenu' => true,
|
||||
'usesidebar' => false,
|
||||
'project' => $project,
|
||||
'projects' => $projects,
|
||||
]);
|
||||
}
|
||||
|
||||
@ -65,23 +29,4 @@ class HomeController extends AbstractController
|
||||
'usesidebar' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/noproject', name: 'app_noproject')]
|
||||
public function noproject(): Response
|
||||
{
|
||||
return $this->render('home/noproject.html.twig', [
|
||||
'usemenu' => true,
|
||||
'usesidebar' => false,
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/user/issue/{id}', name: 'issue_view')]
|
||||
public function view(int $id, IssueRepository $issueRepository): Response
|
||||
{
|
||||
$issue = $issueRepository->find($id);
|
||||
|
||||
return $this->render('issue/view.html.twig', [
|
||||
'issue' => $issue,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user