public function rolesFunction($roles) { $result = []; foreach ((array) $roles as $role) { if (Roles::isValueExist($role)) { $result[] = Roles::getReadableValue($role); } } return implode(', ', $result); }
public function editAction($id = null) { $isNew = null === $id; if ($isNew) { $entity = new User(); } else { $entity = $this->findUser($id); } $builder = $this->createFormBuilder($entity)->add('username', null, [])->add('email', null, [])->add('plainPassword', null, ['required' => false, 'label' => 'Password'])->add('roles', 'choice', ['choices' => Roles::getChoices(), 'multiple' => true, 'expanded' => true])->add('enabled', 'checkbox', ['required' => false])->add('usersubdivisions', null, ['required' => false]); $editForm = $builder->getForm(); $editForm->handleRequest($this->getRequest()); if ($editForm->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($entity); $em->flush(); if ($isNew) { $this->addFlashMessage('success', 'Пользователь создан'); } else { $this->addFlashMessage('success', 'Пользователь сохранен'); } return $this->redirect($this->generateUrl('user_edit', ['id' => $entity->getId()])); } return $this->render('MainBundle:User:edit.html.twig', ['isNew' => $isNew, 'entity' => $entity, 'form' => $editForm->createView(), 'isNew' => $isNew]); }