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
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(),
        ));
    }
//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
 
{{ 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 : 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 }
Voila je ne sais plus quoi faire , j'ai ré-uploadé tous les fichiers .... mais rien à faire.

Cordialement,

Nicolas