|
@@ -93,30 +93,30 @@ class ONURESTController extends RESTController
|
|
|
public function applyAction(Request $request, Int $id, String $workflow, String $transition)
|
|
|
{
|
|
|
$tenancyService = $this->getTenancyService();
|
|
|
-
|
|
|
try {
|
|
|
+ $em = $this->container->get("doctrine.orm.entity_manager");
|
|
|
+ $tenancyService->disableFilter();
|
|
|
+ $entity = $em->getRepository('FTTHBundle:ONU')->find($id);
|
|
|
|
|
|
- $em = $this->container->get("doctrine.orm.entity_manager");
|
|
|
- $tenancyService->disableFilter();
|
|
|
- $entity = $em->getRepository('FTTHBundle:ONU')->find($id);
|
|
|
+ $wr = $this->container->get("workflow.registry");
|
|
|
+ $wf = $wr->get($entity, $workflow);
|
|
|
|
|
|
- $wr = $this->container->get("workflow.registry");
|
|
|
- $wf = $wr->get($entity, $workflow);
|
|
|
+ $newState = $wf->apply($entity, $transition);
|
|
|
|
|
|
- $newState = $wf->apply($entity, $transition);
|
|
|
+ $validator = $this->container->get('validator');
|
|
|
+ $errors = $validator->validate($entity);
|
|
|
|
|
|
- $validator = $this->container->get('validator');
|
|
|
- $errors = $validator->validate($entity);
|
|
|
- if (count($errors) > 0) {
|
|
|
- $errorsString = (string) $errors;
|
|
|
- $tenancyService->enableFilter();
|
|
|
- return FOSView::create($errorsString, Codes::HTTP_INTERNAL_SERVER_ERROR);
|
|
|
- }else{
|
|
|
- $em->persist($entity);
|
|
|
- $em->flush($entity);
|
|
|
- $tenancyService->enableFilter();
|
|
|
- return $entity;
|
|
|
- }
|
|
|
+ if (count($errors) > 0) {
|
|
|
+ $errorsString = (string) $errors;
|
|
|
+ $tenancyService->enableFilter();
|
|
|
+
|
|
|
+ return FOSView::create($errorsString, Codes::HTTP_INTERNAL_SERVER_ERROR);
|
|
|
+ }else{
|
|
|
+ $em->flush($entity);
|
|
|
+ $tenancyService->enableFilter();
|
|
|
+
|
|
|
+ return $entity;
|
|
|
+ }
|
|
|
} catch (\Exception $e) {
|
|
|
return FOSView::create($e->getMessage(), Codes::HTTP_INTERNAL_SERVER_ERROR);
|
|
|
}
|