From 15dc9317521dea40cdddeaf033d0d3a16cb87bc4 Mon Sep 17 00:00:00 2001 From: Arkadiusz Kondas Date: Mon, 4 May 2020 09:45:06 +0200 Subject: [PATCH] Fix doctrine proxy and UI for organization members --- phpstan.neon | 2 ++ src/Controller/OrganizationController.php | 2 +- src/Entity/Organization.php | 16 ++++++++-------- src/Form/Type/Organization/InviteMemberType.php | 4 ++++ templates/base.html.twig | 6 +++--- templates/organization/packages.html.twig | 4 ++++ 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index d3003357..00180664 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,6 +1,8 @@ includes: - vendor/phpstan/phpstan/conf/bleedingEdge.neon parameters: + excludes_analyse: + - src/Entity/Organization.php ignoreErrors: - message: "#^Strict comparison using \\!\\=\\= between string and null will always evaluate to true\\.$#" diff --git a/src/Controller/OrganizationController.php b/src/Controller/OrganizationController.php index 05c240d5..c0855c00 100644 --- a/src/Controller/OrganizationController.php +++ b/src/Controller/OrganizationController.php @@ -96,7 +96,7 @@ public function overview(Organization $organization): Response public function packages(Organization $organization, Request $request): Response { $count = $this->packageQuery->count($organization->id()); - if ($count === 0) { + if ($count === 0 && $organization->isOwner($this->getUser()->id()->toString())) { return $this->redirectToRoute('organization_package_new', ['organization' => $organization->alias()]); } diff --git a/src/Entity/Organization.php b/src/Entity/Organization.php index 52c38b72..192f29a4 100644 --- a/src/Entity/Organization.php +++ b/src/Entity/Organization.php @@ -24,46 +24,46 @@ class Organization * @ORM\Id * @ORM\Column(type="uuid", unique=true) */ - private UuidInterface $id; + private ?UuidInterface $id = null; /** * @ORM\Column(type="datetime_immutable") */ - private \DateTimeImmutable $createdAt; + private ?\DateTimeImmutable $createdAt = null; /** * @ORM\Column(type="string", length=255) */ - private string $name; + private ?string $name = null; /** * @ORM\Column(type="string", unique=true, length=255) */ - private string $alias; + private ?string $alias = null; /** * @var Collection|Package[] * @ORM\OneToMany(targetEntity="Buddy\Repman\Entity\Organization\Package", mappedBy="organization", cascade={"persist"}, orphanRemoval=true) */ - private Collection $packages; + private ?Collection $packages = null; /** * @var Collection|Token[] * @ORM\OneToMany(targetEntity="Buddy\Repman\Entity\Organization\Token", mappedBy="organization", cascade={"persist"}, orphanRemoval=true) */ - private Collection $tokens; + private ?Collection $tokens = null; /** * @var Collection|Invitation[] * @ORM\OneToMany(targetEntity="Buddy\Repman\Entity\Organization\Invitation", mappedBy="organization", cascade={"persist"}, orphanRemoval=true) */ - private Collection $invitations; + private ?Collection $invitations = null; /** * @var Collection|Member[] * @ORM\OneToMany(targetEntity="Buddy\Repman\Entity\Organization\Member", mappedBy="organization", cascade={"persist"}, orphanRemoval=true) */ - private Collection $members; + private ?Collection $members = null; public function __construct(UuidInterface $id, User $owner, string $name, string $alias) { diff --git a/src/Form/Type/Organization/InviteMemberType.php b/src/Form/Type/Organization/InviteMemberType.php index c9bbc6ae..fdb64d62 100644 --- a/src/Form/Type/Organization/InviteMemberType.php +++ b/src/Form/Type/Organization/InviteMemberType.php @@ -35,6 +35,10 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'constraints' => [ new NotNull(), ], + 'attr' => [ + 'class' => 'form-control selectpicker', + 'data-style' => 'btn-secondary', + ], ]) ->add('invite', SubmitType::class) ; diff --git a/templates/base.html.twig b/templates/base.html.twig index a31cb026..479cab3e 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -70,9 +70,9 @@ diff --git a/templates/organization/packages.html.twig b/templates/organization/packages.html.twig index 813e1052..0fb519db 100644 --- a/templates/organization/packages.html.twig +++ b/templates/organization/packages.html.twig @@ -105,6 +105,10 @@ + {% else %} + + no packages added + {% endfor %}