private function newEntity($params) { // Create project $entity = new Project(); $entity->setName($params['name']); $entity->setDescription($params['description']); $entity->setSprintStartDay($params['sprint_start_day']); $entity->setSprintDuration($params['sprint_duration']); $this->manager->persist($entity); // Create default release $releaseStatus = $this->manager->getRepository('NeblionScrumBundle:ProcessStatus')->find(3); $release = new ProjectRelease(); $release->setProject($entity); $release->setName('Default'); $release->setDescription('Default release'); $release->setStart(new \DateTime('2012-09-01')); $release->setEnd(new \DateTime('2012-10-02')); $release->setStatus($releaseStatus); $this->manager->persist($release); // Create default feature $feature = new Feature(); $feature->setProject($entity); $feature->setName('Default'); $feature->setDescription('Default feature'); $feature->setColor('#ffffff'); $this->manager->persist($feature); }
private function newEntity($params) { $feature = new Feature(); $feature->setProject($params['project']); $feature->setName($params['name']); $feature->setDescription($params['description']); $feature->setColor($params['color']); $this->manager->persist($feature); }
/** * Creates a new Feature entity. * * @Route("/{id}/create", name="feature_create") * @Method("post") * @Template("NeblionScrumBundle:Feature:new.html.twig") */ public function createAction($id) { // Check if user is authorized if (!$this->get('security.context')->isGranted('IS_AUTHENTICATED_REMEMBERED')) { throw new AccessDeniedException(); } $user = $this->get('security.context')->getToken()->getUser(); $em = $this->getDoctrine()->getManager(); // Load current project $project = $em->getRepository('NeblionScrumBundle:Project')->find($id); if (!$project) { throw $this->createNotFoundException('Unable to find Project entity.'); } // Check if user is really a member of this project $member = $em->getRepository('NeblionScrumBundle:Member')->isMemberOfProject($user->getId(), $project->getId()); if (!$member or !in_array($member->getRole()->getId(), array(1, 2))) { if (!$member->getAdmin()) { throw new AccessDeniedException(); } } $success = false; $feature = new Feature(); $feature->setProject($project); $request = $this->getRequest(); $form = $this->createForm(new FeatureType(), $feature); $form->bindRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($feature); // store activity $this->get('scrum_activity')->add($project, $user, 'create feature ' . $feature->getName(), $this->generateUrl('feature_list', array('id' => $project->getId())), 'Project #' . $project->getId() . ' features'); $em->flush(); $success = true; if (!$this->getRequest()->isXmlHttpRequest()) { // Set flash message $this->get('session')->getFlashBag()->add('success', 'Feature was created with success!'); return $this->redirect($this->generateUrl('feature_list', array('id' => $project->getId()))); } } return array('project' => $project, 'feature' => $feature, 'form' => $form->createView(), 'success' => $success); }