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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
//appel du controller depuis la vue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(), )); }
// fichier services.yml de mon bundle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Voila je ne sais plus quoi faire , j'ai ré-uploadé tous les fichiers .... mais rien à faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Cordialement,
Nicolas
Partager