Просмотр исходного кода

Modification du profil des autres possible

François Drouhard 3 лет назад
Родитель
Сommit
f44ccbd9f8

+ 23 - 0
src/Controller/SecurityController.php

@@ -2,6 +2,7 @@
 
 namespace App\Controller;
 
+use App\Entity\Profile;
 use App\Form\UserEditPasswordType;
 use App\Form\UserEditType;
 use App\Form\UserRegisterType;
@@ -14,6 +15,7 @@ use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Routing\Annotation\Route;
 use App\Form\UserType;
 use App\Entity\User;
+use App\Form\ProfileType;
 use App\Repository\UserRepository;
 use Doctrine\ORM\EntityManagerInterface;
 use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
@@ -82,6 +84,27 @@ class SecurityController extends AbstractController
         ));
     }
 
+    /**
+     * @Route("/admin/edituseroptions/{id}", name="admin_edituseroptions")
+     */
+    public function editUseroptions (Request $request, Profile $options, EntityManagerInterface $em)
+    {
+        $form = $this->createForm(ProfileType::class, $options);
+        $form->handleRequest($request);
+        if ($form->isSubmitted() && $form->isValid())
+        {
+            $em->flush();
+            $this->addFlash('success', 'Les options de l\'utilisateur ont bien été modifiées.');
+
+            return $this->redirectToRoute('admin_index');
+        }
+        
+        return $this->render('profil/preferences.html.twig', [
+            'user'  => $options->getUser(),
+            'form'  => $form->createView()
+        ]);
+    }
+
     /**
      * @Route("/admin", name="admin_index")
      */

+ 10 - 0
templates/profil/form.preferences.html.twig

@@ -0,0 +1,10 @@
+{% form_theme form 'bootstrap_5_horizontal_layout.html.twig' %}
+{{ form_start(form) }}
+<div class="">
+    {{ form_row(form.view) }}
+</div>
+<div class="mb-3">
+    {{ form_widget(form.save) }}
+    <a href="{{ path('videotheque_liste') }}" class="btn btn-danger" role="button">Annuler</a>
+    {{ form_rest(form) }}
+</div>

+ 1 - 10
templates/profil/mespreferences.html.twig

@@ -4,14 +4,5 @@
 {% block titre %}Modifier mes préférences{%  endblock %}
 
 {% block body %}
-    {% form_theme form 'bootstrap_5_horizontal_layout.html.twig' %}
-    {{ form_start(form) }}
-    <div class="">
-        {{ form_row(form.view) }}
-    </div>
-    <div class="mb-3">
-        {{ form_widget(form.save) }}
-        <a href="{{ path('videotheque_liste') }}" class="btn btn-danger" role="button">Annuler</a>
-        {{ form_rest(form) }}
-    </div>
+    {{ include ('profil/form.preferences.html.twig') }}
 {% endblock %}

+ 8 - 0
templates/profil/preferences.html.twig

@@ -0,0 +1,8 @@
+{% extends "base.html.twig" %}
+
+{% block title %}{{ parent() }} - Préférences utilisateur{%  endblock %}
+{% block titre %}Modifier les options de {{ user.nomComplet }}{%  endblock %}
+
+{% block body %}
+    {{ include ('profil/form.preferences.html.twig') }}
+{% endblock %}

+ 3 - 2
templates/security/liste.html.twig

@@ -41,9 +41,10 @@
                 <td>{{ user.enabled }}</td>
                 <td>
                     {%  if user != app.user %}
-                        <a href="{{ path('admin_deluser', {'id': user.id})  }}"><i class="fa fa-trash fa-lg" style="color:Tomato;"></i></a>
+                        <a href="{{ path('admin_deluser', {'id': user.id})  }}"><i class="fa fa-trash fa-lg text-danger"></i></a>
                     {%  endif %}
-                    <a href="{{ path('admin_edituser', {'id': user.id})  }}"><i class="fa fa-edit fa-lg" style="color:DodgerBlue;"></i></a>
+                    <a href="{{ path('admin_edituser', {'id': user.id})  }}"><i class="fa fa-edit fa-lg text-primary"></i></a>
+                    <a href="{{ path('admin_edituseroptions', {'id': user.profile.id}) }}"><i class="fa fa-cog fa-lg"></i></a>
                 </td>
             </tr>
         {% endfor %}