/**
  * 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();
 }
Ejemplo n.º 3
0
 /**
  * Add user access to project.
  *
  * @param \VersionControl\GitControlBundle\Entity\UserProjects $userProject
  *
  * @return resource
  */
 public function addUserProjects(\VersionControl\GitControlBundle\Entity\UserProjects $userProject)
 {
     $userProject->setUser($this);
     $this->userProjects[] = $userProject;
     return $this;
 }