Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update code to use php74 and cleanup #12

Merged
merged 2 commits into from
Mar 8, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 32 additions & 32 deletions grumphp.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
parameters:
git_dir: .
bin_dir: vendor/bin
testsuites:
phpstan:
tasks: [phpstan]
tasks:
phpcs:
standard: PSR2
whitelist_patterns:
- src/
phplint: ~
yamllint: ~
composer:
strict: false
no_check_publish: true
phpparser:
ignore_patterns:
- tests/phpunit/bootstrap.php
- config/bootstrap.php
visitors:
no_exit_statements: ~
never_use_else: ~
forbidden_function_calls:
blacklist: [var_dump, echo, print, dump, print_r]
phpstan:
level: 2
configuration: "phpstan.neon"
ignore_patterns:
- "tests/"
- "vendor/"
- "var/"
phpunit: ~
git_dir: .
bin_dir: vendor/bin
testsuites:
phpstan:
tasks: [phpstan]
tasks:
phpcs:
standard: PSR2
whitelist_patterns:
- src/
phplint: ~
yamllint: ~
composer:
strict: false
no_check_publish: true
phpparser:
ignore_patterns:
- tests/phpunit/bootstrap.php
- config/bootstrap.php
visitors:
no_exit_statements: ~
never_use_else: ~
forbidden_function_calls:
blacklist: [var_dump, echo, print, dump, print_r]
phpstan:
level: 5
configuration: "phpstan.neon"
ignore_patterns:
- "tests/"
- "vendor/"
- "var/"
phpunit: ~
2 changes: 1 addition & 1 deletion src/Console/GenerateTokenCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace App\Console;

use App\Entity\Anplan\Scope;
use App\Repository\ScopeRepository;
use App\Repository\Anplan\ScopeRepository;
use Lexik\Bundle\JWTAuthenticationBundle\Encoder\JWTEncoderInterface;
use Lexik\Bundle\JWTAuthenticationBundle\Exception\JWTEncodeFailureException;
use Symfony\Component\Console\Command\Command;
Expand Down
Empty file removed src/Controller/.gitignore
Empty file.
3 changes: 1 addition & 2 deletions src/Controller/Security/CheckController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace App\Controller\Security;

use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
Expand All @@ -21,6 +20,6 @@ public function handleRequest(): JsonResponse
return new JsonResponse(['user' => null]);
}

return new JsonResponse(['user' => $this->getUser()->getUsername(), 'roles' => $user->getRoles()]);
return new JsonResponse(['user' => $user->getUsername(), 'roles' => $user->getRoles()]);
}
}
1 change: 0 additions & 1 deletion src/Controller/Security/ConnectController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace App\Controller\Security;

use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;

Expand Down
27 changes: 13 additions & 14 deletions src/DataProvider/Anplan/ActivityDataProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
use ApiPlatform\Core\Exception\ResourceClassNotSupportedException;
use App\Entity\Anplan\Activity;
use App\Repository\Anplan\ActivityRepository;
use App\Security\Jwt\User;
use Symfony\Component\Security\Core\Security;

class ActivityDataProvider implements
Expand All @@ -18,7 +17,6 @@ class ActivityDataProvider implements
{
private ActivityRepository $activityRepository;
private Security $security;
private ?User $user = null;

public function __construct(
ActivityRepository $activityRepository,
Expand All @@ -38,14 +36,24 @@ public function supports(string $resourceClass, string $operationName = null, ar
*/
public function getItem(string $resourceClass, $id, string $operationName = null, array $context = []): ?Activity
{
/** @var Activity $activity */
$activity = $this->activityRepository->find($id);

if ($activity === null) {
return null;
}
if ($activity->isVisible()) {
return $activity;
}
if (!$this->isAllowedToViewHidden()) {
return null;
}

return $this->isAllowedToViewHidden() ? $activity : null;
return $activity;
}

private function isAllowedToViewHidden(): bool
{
return $this->security->isGranted('ROLE_STAFF');
}

/**
Expand All @@ -54,7 +62,7 @@ public function getItem(string $resourceClass, $id, string $operationName = null
public function getCollection(string $resourceClass, string $operationName = null)
{
if ($resourceClass !== Activity::class) {
throw new ResourceClassNotSupportedException();
throw new ResourceClassNotSupportedException('Invalid resource ' . $resourceClass);
}

$queryBuilder = $this->activityRepository->createQueryBuilder('t');
Expand All @@ -65,13 +73,4 @@ public function getCollection(string $resourceClass, string $operationName = nul

return $queryBuilder->getQuery()->getResult();
}

private function isAllowedToViewHidden(): bool
{
if ($this->user === null) {
$this->user = $this->security->getUser();
}

return in_array('ROLE_STAFF', $this->user->getRoles());
}
}
68 changes: 22 additions & 46 deletions src/Entity/Anplan/Activity.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,161 +25,137 @@
class Activity
{
//region Fields

/**
* @var int
* @ORM\Id()
* @ORM\Id
* @ORM\GeneratedValue()
* @ORM\Column(name="pac_id", type="integer")
* @Groups({"read"})
*/
public $id;
public int $id;

/**
* @var string
* @ORM\Column(name="pac_title", type="string")
* @Groups({"read"})
*/
public $title;
public string $title;

/**
* @var string|null
* @ORM\Column(name="pac_sponsor", type="string", nullable=true)
* @Groups({"read"})
*/
public $sponsor;
public ?string $sponsor;

/**
* @var string|null
* @ORM\Column(name="pac_host", type="string", nullable=true)
* @Groups({"read"})
*/
public $host;
public ?string $host;

/**
* @var bool
* @ORM\Column(name="pac_visible", type="boolean")
* @Groups({"staff:read"})
*/
public $visible;
public bool $visible;

/**
* @var string|null
* @ORM\Column(name="pac_reason_invisible", type="string", nullable=true)
* @Groups({"staff:read"})
*/
public $reasonInvisible;
public ?string $reasonInvisible;

/**
* @var bool
* @ORM\Column(name="pac_spell_checked", type="boolean")
* @Groups({"staff:read"})
*/
public $spellChecked;
public bool $spellChecked;

/**
* @var int|null
* @ORM\Column(name="pac_max_visitors", type="boolean")
* @Groups({"read"})
*/
public $maxVisitors;
public ?int $maxVisitors;

/**
* @var float|null
* @ORM\Column(name="pac_price", type="decimal", scale=2, precision=20)
* @Groups({"read"})
*/
public $price;
public ?float $price;

/**
* @var string|null
* @ORM\Column(name="pac_rules", type="text", nullable=true)
* @Groups({"read"})
*/
public $rules;
public ?string $rules;

/**
* @var string|null
* @ORM\Column(name="pac_description", type="text", nullable=true)
* @Groups({"read"})
*/
public $description;
public ?string $description;

/**
* @var string|null
* @ORM\Column(name="pac_print_description", type="text", nullable=true)
* @Groups({"read"})
*/
public $printDescription;
public ?string $printDescription;

/**
* @var string|null
* @ORM\Column(name="pac_web_description", type="text", nullable=true)
* @Groups({"read"})
*/
public $webDescription;
public ?string $webDescription;

/**
* @var string|null
* @ORM\Column(name="pac_social_description", type="text", nullable=true)
* @Groups({"read"})
*/
public $socialDescription;
public ?string $socialDescription;

/**
* @var string|null
* @ORM\Column(name="pac_url", type="string", nullable=true)
* @Groups({"read"})
*/
public $url;
public ?string $url;

/**
* @var string|null
* @ORM\Column(name="pac_prizes", type="text", nullable=true)
* @Groups({"read"})
*/
public $prizes;
public ?string $prizes;

/**
* @var string|null
* @ORM\Column(name="pac_tech_info", type="text", nullable=true)
* @Groups({"staff:read", "tech-crew:read"})
*/
public $techInfo;
public ?string $techInfo;

/**
* @var string|null
* @ORM\Column(name="pac_logistics_info", type="text", nullable=true)
* @Groups({"staff:read", "gopher:read"})
*/
public $logisticsInfo;
public ?string $logisticsInfo;

/**
* @var string|null
* @ORM\Column(name="pac_finance_info", type="text", nullable=true)
* @Groups({"staff:read"})
*/
public $financeInfo;
public ?string $financeInfo;

/**
* @var string|null
* @ORM\Column(name="pac_tickets_info", type="text", nullable=true)
* @Groups({"staff:read"})
*/
public $ticketsInfo;
public ?string $ticketsInfo;

//endregion

//region Associations

/**
* @var ActivityType
* @ORM\ManyToOne(targetEntity="App\Entity\Anplan\ActivityType")
* @ORM\JoinColumn(name="pac_type_id", referencedColumnName="pat_id")
* @ApiSubresource
* @Groups({"read"})
*/
public $activityType;
public ?ActivityType $activityType;

/**
* @ORM\OneToMany(targetEntity="App\Entity\Anplan\Timeslot", mappedBy="activity")
Expand Down
Loading