/** * @Route("/role", name="admin_role_add", options={"expose"=true}) * @Method("POST") */ public function addAction(Request $request) { $em = $this->getDoctrine()->getManager(); $lists = $this->getList(); $a = array(); for ($i = 0; $i <= 53; $i++) { $a[] = null; } foreach ($lists as $key => $list) { $a[constant('Woojin\\UserBundle\\Entity\\Role::' . strtoupper($key))] = (int) $request->request->get(strtolower($key), 0); } $role = new Role(); $role->setName($request->request->get('name', '未命名'))->setRole('ROLE_DEFAULT')->setChmod(implode('', $a)); $em->persist($role); $em->flush(); $role->setRole('ROLE_DEFAULT_' . $role->getId()); $em->persist($role); $em->flush(); $session = $this->get('session'); $session->getFlashBag()->add('success', $role->getName() . '新增完成'); return $this->redirect($this->generateUrl('admin_role_index')); }