redirect connected user to node/add/offre

This commit is contained in:
2024-04-09 10:09:45 +02:00
parent 33f79c0d3e
commit d27c68f389
3 changed files with 27 additions and 20 deletions

View File

@@ -3,6 +3,8 @@
namespace Drupal\loginregisterblock\Plugin\Block;
use Drupal\Core\Block\BlockBase;
use Symfony\Component\HttpFoundation\RedirectResponse;
// use RedirectDestinationTrait;
/**
* Provides a 'login register' Block.
@@ -19,23 +21,28 @@ class LoginRegisterBlock extends BlockBase {
* {@inheritdoc}
*/
public function build() {
$loginform = \Drupal::formBuilder()->getForm('Drupal\user\Form\UserLoginForm');
$newuser = \Drupal::entityTypeManager()->getStorage('user')->create();
$registerform = \Drupal::service('entity.form_builder')->getForm($newuser, 'register');
return [
'login' => [
'#markup' => '<h1>' . $this->t('Se connecter') . '</h1>',
'form' => $loginform,
],
'register' => [
'#markup' => '<h1>' . $this->t('ou créer un nouveau compte') . '</h1>',
'form' => $registerform
]
];
// return [
// '#markup' => $this->t('Hello, World!'),
// ];
$user = \Drupal::currentUser();
if ($user->id() === 0) {
$loginform = \Drupal::formBuilder()->getForm('Drupal\user\Form\UserLoginForm');
$newuser = \Drupal::entityTypeManager()->getStorage('user')->create();
$registerform = \Drupal::service('entity.form_builder')->getForm($newuser, 'register');
return [
'login' => [
'#markup' => '<h1>' . $this->t('Se connecter') . '</h1>',
'form' => $loginform,
],
'register' => [
'#markup' => '<h1>' . $this->t('ou créer un nouveau compte') . '</h1>',
'form' => $registerform
]
];
} else {
$destination = \Drupal::service('redirect.destination')->getAsArray();
$response = new RedirectResponse($destination['destination']);
$response->send();
}
}