Skip to content

Commit 33b45ab

Browse files
author
Tobias Wojtylak
committed
Added route sd_multistep_start
1 parent a5b5a36 commit 33b45ab

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

src/Controller/MultiStepController.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
use solutionDrive\MultiStepBundle\Registry\MultiStepFlowRegistryInterface;
1313
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
14+
use Symfony\Component\HttpFoundation\RedirectResponse;
1415
use Symfony\Component\HttpFoundation\Request;
1516
use Symfony\Component\HttpFoundation\Response;
1617
use Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface;
@@ -95,4 +96,20 @@ public function stepAction(Request $request, string $flow_slug, string $step_slu
9596

9697
return call_user_func_array($callableController, $arguments);
9798
}
99+
100+
public function firstStepAction(Request $request, string $flow_slug): Response
101+
{
102+
$flow = $this->flowRegistry->getFlowBySlug($flow_slug);
103+
$firstStep = $flow->getFirstStep();
104+
105+
$currentRoute = $request->get('_route');
106+
107+
$router = $this->get('router');
108+
$firstStepLink = $router->generate(
109+
$currentRoute,
110+
['flow_slug' => $flow_slug, 'step_slug' => $firstStep->getSlug()]
111+
);
112+
113+
return new RedirectResponse($firstStepLink);
114+
}
98115
}

src/Resources/config/routing.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ sd_multistep:
44
flow_slug: ^[^/]+$
55
step_slug: ^[^/]+$
66
controller: sd.multistep.controller:stepAction
7+
sd_multistep_start:
8+
path: /
9+
requirements:
10+
flow_slug: ^[^/]+$
11+
controller: sd.multistep.controller:firstStepAction
712

813
# May be used in future? Not implemented yet, but should be noted here...
914
#sd_multistep_with_parameters:

0 commit comments

Comments
 (0)