register form FOSUserBundle en prod
Bonjour,
Voila j'ai un souci d'affichage du formulaire de création d'utilisateur dans le back office du site que je développe. J'utilise le FOSUserBundle et j'adapte les formulaires de connexion et d'inscription.
En local, serveur wamp, le formulaire s'affiche bien, l'action du controller fait bien son travail. J'ai voulu le tester en ligne sur un serveur mutualisé planethoster mais non seulement mon formulaire ne s'affiche pas mais les 3/4 du css est parti.
Voici le code :
//vue registerAdmin_content.html.twig
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
{{ form_start(form, {'action': path('neto_new_user_admin')}) }}
{{ form_errors(form) }}
<div class="row">
<div class="large-12 small-12 columns">
{{ form_label(form.genre) }}
{{ form_errors(form.genre) }}
{{ form_widget(form.genre) }}
</div>
</div>
<div class="row">
<div class="large-6 small-12 columns">
{{ form_label(form.name) }}
{{ form_errors(form.name) }}
{{ form_widget(form.name) }}
</div>
<div class="large-6 small-12 columns">
{{ form_label(form.nickname) }}
{{ form_errors(form.nickname) }}
{{ form_widget(form.nickname) }}
</div>
</div>
<div class="row">
<div class="large-12 small-12 columns">
{{ form_label(form.username) }}
{{ form_errors(form.username) }}
{{ form_widget(form.username) }}
</div>
</div>
<div class="row">
<div class="large-12 small-12 columns">
{{ form_label(form.adresse) }}
{{ form_errors(form.adresse) }}
{{ form_widget(form.adresse) }}
</div>
</div>
<div class="row">
<div class="large-12 small-12 columns">
{{ form_label(form.adresse2) }}
{{ form_errors(form.adresse2) }}
{{ form_widget(form.adresse2) }}
</div>
</div>
<div class="row">
<div class="large-6 small-12 columns">
{{ form_label(form.cp) }}
{{ form_errors(form.cp) }}
{{ form_widget(form.cp) }}
</div>
<div class="large-6 small-12 columns">
{{ form_label(form.ville) }}
{{ form_errors(form.ville) }}
{{ form_widget(form.ville) }}
</div>
</div>
<div class="row">
<div class="large-12 small-12 columns">
{{ form_label(form.pays) }}
{{ form_errors(form.pays) }}
{{ form_widget(form.pays) }}
</div>
</div>
<div class="row">
<div class="large-6 small-12 columns">
{{ form_label(form.tel) }}
{{ form_errors(form.tel) }}
{{ form_widget(form.tel) }}
</div>
<div class="large-6 small-12 columns">
{{ form_label(form.tel2) }}
{{ form_errors(form.tel2) }}
{{ form_widget(form.tel2) }}
</div>
</div>
<div class="row">
<div class="large-6 small-12 columns">
{{ form_label(form.email) }}
{{ form_errors(form.email) }}
{{ form_widget(form.email) }}
</div>
<div class="large-6 small-12 columns">
<label for="email2">Vérification E-mail
<input type="text" name="email2" value="" />
</label>
</div>
</div>
<div>
{{ form_errors(form.plainPassword) }}
{{ form_widget(form.plainPassword) }}
</div>
<div>
{{ form_label(form.datenaissance) }}
{{ form_errors(form.datenaissance) }}
{{ form_widget(form.datenaissance, {'attr': {'class': 'dateNaiss'}}) }}
</div>
{% if is_granted('ROLE_ADMIN') %}
<div>
{{ form_label(form.type) }}
{{ form_errors(form.type) }}
{{ form_widget(form.type) }}
</div>
{% endif %}
<input type="submit" value="{{ 'registration.submit'|trans({}, 'FOSUserBundle') }}" />
{{ form_end(form) }}
<script type="text/javascript">
$(function(){
$( ".dateNaiss" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
dateFormat: 'dd/mm/yy'
});
});
</script> |
// vue registerAdmin.html.twig
Code:
1 2 3 4 5 6
|
{% extends "FOSUserBundle::layout.html.twig" %}
{% block fos_user_content %}
{% include "NetoUserBundle:Registration:registerAdmin_content.html.twig" %}
{% endblock %} |
//action registerByAdmin
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<?php
namespace Neto\UserBundle\Controller;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FormEvent;
use FOS\UserBundle\Event\GetResponseUserEvent;
use FOS\UserBundle\Event\UserEvent;
use FOS\UserBundle\Event\FilterUserResponseEvent;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\DependencyInjection\ContainerAware;
use Symfony\Component\HttpFoundation\Redirect;
use FOS\UserBundle\Controller\RegistrationController as BaseController;
class RegistrationController extends BaseController
{
public function registerByAdminAction(Request $request){
/** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
$formFactory = $this->container->get('fos_user.registration.form.factory');
/** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
$userManager = $this->container->get('fos_user.user_manager');
/** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
$dispatcher = $this->container->get('event_dispatcher');
$user = $userManager->createUser();
$user->setEnabled(true);
$event = new GetResponseUserEvent($user, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
$form = $formFactory->createForm();
$form->setData($user);
if ('POST' === $request->getMethod()) {
$form->bind($request);
if ($form->isValid()) {
//
$data=$form->getData();
if ($data->getType()=='admin'){
$user->setRoles(array('ROLE_ADMIN'));
}
else if ($data->getType()=='client'){
$user->setRoles(array('ROLE_CLIENT'));
}
else if ($data->getType()=='agent'){
$user->setRoles(array('ROLE_AGENT'));
}
else if ($data->getType()=='ce'){
$user->setRoles(array('ROLE_CE'));
}
else if ($data->getType()=='proprietaire'){
$user->setRoles(array('ROLE_PROPRIETAIRE'));
}
else{
$user->setRoles(array('ROLE_USER'));
}
if ($data->getEmail()==$request->request->get('email2')){
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
$userManager->updateUser($user);
if (null === $response = $event->getResponse()) {
$url = $this->container->get('router')->generate('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
return $response;
}
else{
$this->container->get('session')->getFlashBag()->add(
'message',
'Les E-mail ne correspondent pas');
$url = $this->container->get('router')->generate('neto_new_user_admin');
$response = new RedirectResponse($url);
}
//
}
}
return $this->container->get('templating')->renderResponse('FOSUserBundle:Registration:registerAdmin.html.'.$this->getEngine(), array(
'form' => $form->createView(),
));
} |
//appel du controller depuis la vue
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
{{ render(controller("NetoUserBundle:Registration:registerByAdmin")) }}
//fichier config.yml
fos_user:
db_driver: orm
firewall_name: main
user_class: Neto\UserBundle\Entity\User
registration:
form:
type: neto_user_registration |
// fichier services.yml de mon bundle
Code:
1 2 3 4 5 6 7
|
services:
neto_user.registration.form.type:
class: Neto\UserBundle\Form\Type\RegistrationFormType
arguments: [%fos_user.model.user.class%]
tags:
- { name: form.type, alias: neto_user_registration } |
Voila je ne sais plus quoi faire , j'ai ré-uploadé tous les fichiers .... mais rien à faire.
Cordialement,
Nicolas