Skip to content
Snippets Groups Projects
Commit fdd88a3c authored by Camille Simiand's avatar Camille Simiand
Browse files

Fix flash message display when project already exists

parent 0fd885ed
Branches
Tags
1 merge request!32tuleap-50-create-a-capsule-for-an-unexisting-project-in-the-legacy
Pipeline #654 passed
......@@ -5,7 +5,6 @@ namespace App\Builder;
use App\Entity\Capsule;
use App\Entity\User;
use App\Helper\ContractHelper;
use Doctrine\Persistence\ObjectManager;
class CapsuleBuilder
{
......@@ -95,7 +94,7 @@ class CapsuleBuilder
return $this;
}
public function createCapsule(ObjectManager $manager): Capsule
public function createCapsule(): Capsule
{
ContractHelper::requires(
$this->hasRequiredName,
......@@ -122,8 +121,6 @@ class CapsuleBuilder
"The call of CapsuleBuilder::withUpdateDate should be called before CapsuleBuilder::create"
);
$manager->persist($this->capsule);
return $this->capsule;
}
}
......@@ -4,7 +4,6 @@ namespace App\Builder;
use App\Entity\User;
use App\Helper\ContractHelper;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
class UserBuilder
......@@ -107,7 +106,7 @@ class UserBuilder
return $this;
}
public function createUser(ObjectManager $manager): User
public function createUser(): User
{
ContractHelper::requires(
$this->hasRequiredEmail,
......@@ -138,8 +137,6 @@ class UserBuilder
"The call of UserBuilder::withIsVerified should be called before UserBuilder::create"
);
$manager->persist($this->user);
return $this->user;
}
}
......@@ -3,7 +3,6 @@
namespace App\Controller;
use App\Builder\CapsuleBuilder;
use App\Entity\Capsule;
use App\Entity\User;
use App\Form\CreateCapsuleFormType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
......@@ -30,8 +29,7 @@ class CapsuleController extends AbstractController
*/
public function create(Request $request): Response
{
$capsule = new Capsule();
$form = $this->createForm(CreateCapsuleFormType::class, $capsule);
$form = $this->createForm(CreateCapsuleFormType::class);
$form->handleRequest($request);
$current_user = $this->getUser();
......@@ -48,15 +46,16 @@ class CapsuleController extends AbstractController
$entityManager = $this->getDoctrine()->getManager();
$capsule_builder = new CapsuleBuilder();
$capsule_builder
$capsule = $capsule_builder
->withName($capsule_name)
->withCreationAuthor($current_user)
->withCreationDate($new_date_time)
->withPreviewLink($preview_link)
->withEditionLink($edition_link)
->withUpdateDate($new_date_time)
->createCapsule($entityManager);
->createCapsule();
$entityManager->persist($capsule);
$entityManager->flush();
return $this->forward('App\Controller\ProjectController::create', [
......
......@@ -56,14 +56,18 @@ class CapsuleFixtures extends Fixture implements DependentFixtureInterface
DateTime $update_date
): Capsule {
$capsule_builder = new CapsuleBuilder();
return $capsule_builder
$capsule = $capsule_builder
->withName($name)
->withCreationAuthor($creation_author)
->withCreationDate($creation_date)
->withPreviewLink($preview_link)
->withEditionLink($edition_link)
->withUpdateDate($update_date)
->createCapsule($manager);
->createCapsule();
$manager->persist($capsule);
return $capsule;
}
public function getDependencies(): array
......
......@@ -58,7 +58,7 @@ class UserFixtures extends Fixture
bool $is_verified
): User {
$user_builder = new UserBuilder($this->password_hasher);
return $user_builder
$user = $user_builder
->withEmail($email)
->withFirstName($first_name)
->withLastName($last_name)
......@@ -66,6 +66,10 @@ class UserFixtures extends Fixture
->withPassword($password)
->withRoles(["ROLE_USER"])
->withIsVerified($is_verified)
->createUser($manager);
->createUser();
$manager->persist($user);
return $user;
}
}
......@@ -16,10 +16,17 @@
</form>
</div>
{% for flashWarning in app.flashes('project_already_exists') %}
<div class="text-center alert alert-warning col-5 mx-auto my-5" role="alert">
{{ flashWarning }}
</div>
{% endfor %}
{% for flashSuccess in app.flashes('capsule_created_success') %}
<div class="text-center alert alert-success col-5 mx-auto my-5" role="alert">
{{ flashSuccess }}
</div>
{% endfor %}
</div>
{% endblock %}
......@@ -5,7 +5,6 @@ namespace App\Tests\functional;
use App\Entity\Capsule;
use App\Entity\User;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Component\DomCrawler\Form;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment