while upgrading to symfony 6.1
This commit is contained in:
.envTODOsymfony.lock
assets
app.jsbootstrap.jscontrollers.json
composer.jsoncomposer.lockpackage.jsonpostcss.config.jscontrollers
js
App.vue
components
AppLink.vueHandleLogout.vueLoginForm.vueNotFound.vueTheAbout.vueTheFooter.vueTheNavbar.vueTheSidebar.vue
blog
minesweeper
pages
projects
quotes
tabs
users
composables
index.jsrouter
stores
styles
public
src
Controller
Security
templates
webpack.config.jsyarn.lock@ -6,6 +6,7 @@ declare(strict_types=1);
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Repository\QuotesRepository;
|
||||
use Exception;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
@ -16,17 +17,18 @@ use Symfony\Component\Serializer\SerializerInterface;
|
||||
*/
|
||||
class FrontendController extends AbstractController
|
||||
{
|
||||
const TEMPLATE_DIR = 'themes/default/';
|
||||
|
||||
/**
|
||||
* @throws \Exception
|
||||
* @throws Exception
|
||||
*/
|
||||
#[Route(path: '/', name: 'app_main')]
|
||||
#[Route(path: '/{route}', name: 'vue_pages', requirements: ['route' => '^(?!.*_wdt|_profiler|login|logout).+'] )]
|
||||
|
||||
public function quote(SerializerInterface $serializer, QuotesRepository $quotesRepository): Response
|
||||
{
|
||||
$quote = $quotesRepository->findOneRandom();
|
||||
|
||||
return $this->render(view: 'base.html.twig', parameters: [
|
||||
return $this->render(view: self::TEMPLATE_DIR . 'base.html.twig', parameters: [
|
||||
'template_dir' => self::TEMPLATE_DIR,
|
||||
'user' => $serializer->serialize(data: $this->getUser(), format: 'jsonld'),
|
||||
'quote' => json_encode(value: $quote->getQuote())
|
||||
]);
|
||||
|
@ -10,6 +10,8 @@ use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
class PagesController extends AbstractController
|
||||
{
|
||||
const TEMPLATE_DIR = 'themes/default/';
|
||||
|
||||
#[Route(path: '/pages/{name}', name: 'pages_display')]
|
||||
public function display(PagesRepository $pagesRepository, string $name): Response
|
||||
{
|
||||
@ -27,4 +29,22 @@ class PagesController extends AbstractController
|
||||
'page' => $page,
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route(path: '/imprint', name: 'app_imprint')]
|
||||
public function imprint(): Response
|
||||
{
|
||||
return $this->render(view: self::TEMPLATE_DIR . 'pages/imprint.html.twig', parameters: [
|
||||
'template_dir' => self::TEMPLATE_DIR,
|
||||
'controller_name' => 'PagesController',
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route(path: '/privacy', name: 'app_privacy')]
|
||||
public function privacy(): Response
|
||||
{
|
||||
return $this->render(view: self::TEMPLATE_DIR . 'pages/privacy.html.twig', parameters: [
|
||||
'template_dir' => self::TEMPLATE_DIR,
|
||||
'controller_name' => 'PagesController',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -18,13 +18,7 @@ class SecurityController extends AbstractController
|
||||
#[Route(path: '/login', name: 'app_login')] // *** method post
|
||||
public function login(AuthenticationUtils $authenticationUtils, IriConverterInterface $iriConverter): Response
|
||||
{
|
||||
|
||||
if (!$this->isGranted(attribute: 'IS_AUTHENTICATED_FULLY')) {
|
||||
return $this->json(data: [
|
||||
'error' => 'Invalid login request'
|
||||
], status: 400);
|
||||
}
|
||||
|
||||
|
||||
/** @var User $user */
|
||||
$user = $this->getUser() ?? null;
|
||||
|
||||
|
@ -15,10 +15,7 @@ use Symfony\Component\Security\Core\Exception\UserNotFoundException;
|
||||
*/
|
||||
class UserController extends AbstractController
|
||||
{
|
||||
/**
|
||||
* @param string $userName
|
||||
*
|
||||
*/
|
||||
|
||||
#[Route(path: '/profile/edit/{username}', name: 'app_profile_edit')]
|
||||
public function editProfile(UserRepository $userRepository, string $username = ''): Response
|
||||
{
|
||||
|
@ -27,8 +27,9 @@ class LoginFormAuthenticator extends AbstractLoginFormAuthenticator
|
||||
use TargetPathTrait;
|
||||
|
||||
public function __construct(private readonly UserRepository $userRepository, private readonly RouterInterface $router)
|
||||
{
|
||||
}
|
||||
{
|
||||
// empty body
|
||||
}
|
||||
|
||||
public function authenticate(Request $request): Passport
|
||||
{
|
||||
@ -38,7 +39,8 @@ class LoginFormAuthenticator extends AbstractLoginFormAuthenticator
|
||||
|
||||
$request->getSession()->set(name: Security::LAST_USERNAME, value: $username);
|
||||
|
||||
|
||||
dd("here");
|
||||
|
||||
return new Passport(
|
||||
userBadge: new UserBadge(userIdentifier: $username, userLoader: function ($userIdentifier) {
|
||||
$user = $this->userRepository->findOneBy(['username' => $userIdentifier]);
|
||||
|
Reference in New Issue
Block a user