protected function processCreate(sfWebRequest $request, ProjectFormCustom $form)
 {
     $form->bind($request->getParameter($form->getName()));
     if ($form->isValid()) {
         $values = $form->getValues();
         // Slugify name, and check if slug generated does not already exist and generate a new one if needed
         if (empty($values['name_slug'])) {
             $slug = MiscUtils::slugify($values['name']);
         } else {
             $slug = $values['name_slug'];
         }
         $size = 1;
         while (Doctrine_Core::getTable("Project")->checkSlugForProject(NULL, $slug, true)) {
             $slug = MiscUtils::slugify($values['name']) . substr(microtime(), -$size);
             $size++;
         }
         // Create the project into database
         $projectObject = new Project();
         $projectObject->setName($values['name']);
         $projectObject->setDescription($values['description']);
         $projectObject->setUserId($values['user_id']);
         $projectObject->setCreatedAt($values['created_at']);
         $projectObject->setStatus($values['status']);
         $projectObject->setSecurityLevel($values['security_level']);
         $projectObject->setNameSlug($slug);
         $projectObject->save();
         // Get the project's id
         $projectId = $projectObject->getId();
         // Create a new relationship between projects, products and project groups for each checked form's product
         foreach ($values['product'] as $product) {
             $ptpObject = new ProjectToProduct();
             $ptpObject->setProjectGroupId($values['group']);
             $ptpObject->setProjectId($projectId);
             $ptpObject->setProductId($product);
             $ptpObject->save();
         }
         if ($request->hasParameter('_save_and_add')) {
             $this->getUser()->setFlash('notice', $notice . ' You can add another one below.');
             $this->redirect('@project_new');
         } else {
             $this->getUser()->setFlash('notice', $notice);
             $this->redirect(array('sf_route' => 'project_edit', 'sf_subject' => $projectObject));
         }
     } else {
         $this->getUser()->setFlash('error', 'The item has not been saved due to some errors.', false);
     }
 }