/** * Creates a new Project entity. * * @Route("/", name="project_create") * @Method("POST") * @Template("VersionControlGitControlBundle:Project:new.html.twig") */ public function createAction(Request $request) { $project = new Project(); $form = $this->createCreateForm($project); $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); //Get User $user = $this->get('security.token_storage')->getToken()->getUser(); //Set Creator $project->setCreator($user); //Set Access and Roles $userProjectAccess = new UserProjects(); $userProjectAccess->setUser($user); $userProjectAccess->setRoles('Owner'); $project->addUserProjects($userProjectAccess); $em->persist($project); $em->flush(); return $this->redirect($this->generateUrl('project_edit', array('id' => $project->getId()))); } return array('entity' => $project, 'form' => $form->createView()); }
protected function loadTestData(ObjectManager $em) { $user = $this->loadUserData($em, 'test', 'test', '*****@*****.**', 'Test Test'); //Set Creator $project = new Project(); $project->setTitle('Test Project'); $project->setDescription('Project used for testing only'); $project->setCreator($user); //Set Access and Roles $userProjectAccess = new UserProjects(); $userProjectAccess->setUser($user); $userProjectAccess->setRoles('Owner'); $project->addUserProjects($userProjectAccess); $em->persist($project); $em->flush(); $projectEnvironment = new ProjectEnvironment(); $projectEnvironment->setProject($project); $projectEnvironment->setTitle('Current Project'); $projectEnvironment->setDescription('Test project environment showing this systems git repo'); $projectEnvironment->setPath($this->rootDir); $em->persist($projectEnvironment); $em->flush(); }