瀏覽代碼

Back office users

François 6 年之前
父節點
當前提交
b8b9abd0af

+ 149 - 111
.idea/workspace.xml

@@ -21,6 +21,20 @@
   <component name="ComposerSettings" doNotAsk="true" synchronizationState="SYNCHRONIZE">
     <pharConfigPath>$PROJECT_DIR$/composer.json</pharConfigPath>
   </component>
+  <component name="DatabaseView">
+    <option name="SHOW_INTERMEDIATE" value="true" />
+    <option name="GROUP_DATA_SOURCES" value="true" />
+    <option name="GROUP_SCHEMA" value="true" />
+    <option name="GROUP_CONTENTS" value="false" />
+    <option name="SORT_POSITIONED" value="false" />
+    <option name="SHOW_EMPTY_GROUPS" value="false" />
+    <option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
+    <option name="HIDDEN_KINDS">
+      <set />
+    </option>
+    <expand />
+    <select />
+  </component>
   <component name="FUSProjectUsageTrigger">
     <session id="1841614210">
       <usages-collector id="statistics.lifecycle.project">
@@ -37,8 +51,8 @@
         <counts>
           <entry key="html" value="1" />
           <entry key="json" value="1" />
-          <entry key="php" value="29" />
-          <entry key="twig" value="18" />
+          <entry key="php" value="30" />
+          <entry key="twig" value="25" />
           <entry key="yml" value="6" />
         </counts>
       </usages-collector>
@@ -46,23 +60,23 @@
         <counts>
           <entry key="HTML" value="1" />
           <entry key="JSON" value="1" />
-          <entry key="PHP" value="29" />
-          <entry key="Twig" value="18" />
+          <entry key="PHP" value="30" />
+          <entry key="Twig" value="25" />
           <entry key="YAML" value="6" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.edit">
         <counts>
-          <entry key="php" value="6314" />
-          <entry key="twig" value="1889" />
-          <entry key="yml" value="837" />
+          <entry key="php" value="7091" />
+          <entry key="twig" value="2520" />
+          <entry key="yml" value="838" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.edit">
         <counts>
-          <entry key="PHP" value="6314" />
-          <entry key="Twig" value="1889" />
-          <entry key="YAML" value="837" />
+          <entry key="PHP" value="7091" />
+          <entry key="Twig" value="2520" />
+          <entry key="YAML" value="838" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.vcs.git.usages" />
@@ -76,16 +90,11 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/DefaultController.php">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/config/security.yml">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="711">
-              <caret line="49" column="20" selection-start-line="49" selection-start-column="20" selection-end-line="49" selection-end-column="20" />
+            <state relative-caret-position="120">
+              <caret line="8" column="27" selection-start-line="8" selection-start-column="27" selection-end-line="8" selection-end-column="27" />
             </state>
           </provider>
         </entry>
@@ -93,93 +102,98 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/SecurityController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="189">
-              <caret line="71" column="68" selection-start-line="71" selection-start-column="68" selection-end-line="71" selection-end-column="68" />
+            <state relative-caret-position="246">
+              <caret line="72" column="54" selection-start-line="72" selection-start-column="54" selection-end-line="72" selection-end-column="54" />
               <folding>
                 <element signature="e#40#72#0#PHP" expanded="true" />
                 <element signature="e#708#739#0#PHP" expanded="true" />
                 <element signature="e#1637#1673#0#PHP" expanded="true" />
                 <element signature="e#2108#2124#1#PHP" expanded="true" />
                 <element signature="e#2658#2694#0#PHP" expanded="true" />
+                <element signature="e#3036#3052#1#PHP" expanded="true" />
+                <element signature="e#2993#3024#1#PHP" expanded="true" />
+                <element signature="e#3436#3452#1#PHP" expanded="true" />
+                <element signature="e#3816#3855#1#PHP" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/AjaxController.php">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/createuser.html.twig">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="135">
-              <caret line="30" column="48" selection-start-line="30" selection-start-column="48" selection-end-line="30" selection-end-column="48" />
+            <state relative-caret-position="105">
+              <caret line="7" column="59" selection-start-line="7" selection-start-column="59" selection-end-line="7" selection-end-column="59" />
               <folding>
-                <element signature="e#40#73#0#PHP" expanded="true" />
+                <element signature="e#12#26#0#Twig" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/AppBundle/Form/UserEditType.php">
+        <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/liste.html.twig">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="222">
-              <caret line="24" column="58" selection-start-line="24" selection-start-column="58" selection-end-line="24" selection-end-column="58" />
-              <folding>
-                <element signature="e#34#74#0#PHP" expanded="true" />
-              </folding>
+            <state relative-caret-position="90">
+              <caret line="6" column="33" lean-forward="true" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="33" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/AppBundle/Form/UserType.php">
+        <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/supprimeruser.html.twig">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="210">
-              <caret line="20" column="26" selection-start-line="20" selection-start-column="26" selection-end-line="20" selection-end-column="26" />
+            <state relative-caret-position="105">
+              <caret line="7" column="85" selection-start-line="7" selection-start-column="85" selection-end-line="7" selection-end-column="85" />
               <folding>
-                <element signature="e#34#74#0#PHP" expanded="true" />
+                <element signature="e#12#31#0#Twig" expanded="true" />
+                <element signature="e#310#323#0#Twig" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/VideothequeController.php">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/AppBundle/Form/UserEditType.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="120">
-              <caret line="18" column="59" selection-start-line="18" selection-start-column="59" selection-end-line="18" selection-end-column="59" />
+            <state relative-caret-position="192">
+              <caret line="19" column="40" selection-start-line="19" selection-start-column="40" selection-end-line="19" selection-end-column="40" />
               <folding>
-                <element signature="e#2343#2359#1#PHP" expanded="true" />
+                <element signature="e#34#74#0#PHP" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/config/routing.yml">
+        <entry file="file://$PROJECT_DIR$/src/AppBundle/Form/UserType.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="195">
-              <caret line="13" column="17" selection-start-line="13" selection-start-column="17" selection-end-line="13" selection-end-column="17" />
+            <state relative-caret-position="240">
+              <caret line="20" column="29" selection-start-line="20" selection-start-column="29" selection-end-line="20" selection-end-column="29" />
+              <folding>
+                <element signature="e#34#74#0#PHP" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/AppBundle/Entity/User.php">
+        <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/login.html.twig">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="615">
-              <caret line="41" column="72" selection-start-line="41" selection-start-column="72" selection-end-line="41" selection-end-column="72" />
-              <folding>
-                <element signature="e#36#68#0#PHP" expanded="true" />
-              </folding>
+            <state relative-caret-position="285">
+              <caret line="19" column="46" selection-start-line="19" selection-start-column="46" selection-end-line="19" selection-end-column="46" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/login.html.twig">
+        <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/VideothequeController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="285">
-              <caret line="19" column="46" selection-start-line="19" selection-start-column="46" selection-end-line="19" selection-end-column="46" />
+            <state relative-caret-position="225">
+              <caret line="103" column="9" selection-start-line="103" selection-start-column="9" selection-end-line="103" selection-end-column="9" />
+              <folding>
+                <element signature="e#2343#2359#1#PHP" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
@@ -214,16 +228,18 @@
         <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/form.html.twig" />
         <option value="$PROJECT_DIR$/src/AppBundle/Form/FilmType.php" />
         <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/ajouter.html.twig" />
-        <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/liste.html.twig" />
         <option value="$PROJECT_DIR$/app/config/routing.yml" />
         <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/security/login.html.twig" />
-        <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/security/createuser.html.twig" />
-        <option value="$PROJECT_DIR$/src/AppBundle/Form/UserType.php" />
         <option value="$PROJECT_DIR$/src/AppBundle/Entity/User.php" />
-        <option value="$PROJECT_DIR$/app/config/security.yml" />
         <option value="$PROJECT_DIR$/src/AppBundle/Form/UserEditType.php" />
-        <option value="$PROJECT_DIR$/src/AppBundle/Controller/SecurityController.php" />
         <option value="$PROJECT_DIR$/src/AppBundle/Controller/VideothequeController.php" />
+        <option value="$PROJECT_DIR$/app/config/security.yml" />
+        <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/security/supprimeruser.html.twig" />
+        <option value="$PROJECT_DIR$/src/AppBundle/Form/UserType.php" />
+        <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/liste.html.twig" />
+        <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/security/liste.html.twig" />
+        <option value="$PROJECT_DIR$/src/AppBundle/Controller/SecurityController.php" />
+        <option value="$PROJECT_DIR$/src/AppBundle/Resources/views/security/createuser.html.twig" />
       </list>
     </option>
   </component>
@@ -422,8 +438,8 @@
   </component>
   <component name="RecentsManager">
     <key name="CopyFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/src/AppBundle/Form" />
       <recent name="$PROJECT_DIR$/src/AppBundle/Resources/views/security" />
+      <recent name="$PROJECT_DIR$/src/AppBundle/Form" />
     </key>
   </component>
   <component name="RunDashboard">
@@ -462,12 +478,12 @@
       <workItem from="1539955933558" duration="3651000" />
       <workItem from="1540032947542" duration="34755000" />
       <workItem from="1540146560606" duration="449000" />
-      <workItem from="1540147049047" duration="6792000" />
+      <workItem from="1540147049047" duration="9538000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="45986000" />
+    <option name="totallyTimeSpent" value="48732000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="27" width="1366" height="741" extended-state="6" />
@@ -491,7 +507,7 @@
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
-      <window_info anchor="right" id="Database" order="3" />
+      <window_info anchor="right" id="Database" order="3" weight="0.32954547" />
     </layout>
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -509,13 +525,6 @@
         <state relative-caret-position="-90" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/base.html.twig">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="75">
-          <caret line="5" selection-start-line="5" selection-end-line="5" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/AppBundle/Tests/Controller/AjaxControllerTest.php">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
@@ -607,13 +616,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/liste.html.twig">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="285">
-          <caret line="19" column="45" selection-start-line="19" selection-start-column="45" selection-end-line="19" selection-end-column="45" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/form.html.twig">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="210">
@@ -631,13 +633,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/login.html.twig">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="285">
-          <caret line="19" column="46" selection-start-line="19" selection-start-column="46" selection-end-line="19" selection-end-column="46" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/AppBundle/Form/RealisateurType.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="347">
@@ -645,16 +640,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/createuser.html.twig">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" column="17" selection-start-line="6" selection-start-column="17" selection-end-line="6" selection-end-column="17" />
-          <folding>
-            <element signature="e#12#26#0#Twig" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/AppBundle/Entity/User.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="615">
@@ -672,17 +657,40 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/DefaultController.php">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
     <entry file="file://$PROJECT_DIR$/app/config/security.yml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="711">
-          <caret line="49" column="20" selection-start-line="49" selection-start-column="20" selection-end-line="49" selection-end-column="20" />
+        <state relative-caret-position="120">
+          <caret line="8" column="27" selection-start-line="8" selection-start-column="27" selection-end-line="8" selection-end-column="27" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/VideothequeController.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="103" column="9" selection-start-line="103" selection-start-column="9" selection-end-line="103" selection-end-column="9" />
+          <folding>
+            <element signature="e#2343#2359#1#PHP" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/AjaxController.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="135">
+          <caret line="30" column="48" selection-start-line="30" selection-start-column="48" selection-end-line="30" selection-end-column="48" />
+          <folding>
+            <element signature="e#40#73#0#PHP" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/AppBundle/Form/UserType.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="210">
-          <caret line="20" column="26" selection-start-line="20" selection-start-column="26" selection-end-line="20" selection-end-column="26" />
+        <state relative-caret-position="240">
+          <caret line="20" column="29" selection-start-line="20" selection-start-column="29" selection-end-line="20" selection-end-column="29" />
           <folding>
             <element signature="e#34#74#0#PHP" expanded="true" />
           </folding>
@@ -691,47 +699,77 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/src/AppBundle/Form/UserEditType.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="222">
-          <caret line="24" column="58" selection-start-line="24" selection-start-column="58" selection-end-line="24" selection-end-column="58" />
+        <state relative-caret-position="192">
+          <caret line="19" column="40" selection-start-line="19" selection-start-column="40" selection-end-line="19" selection-end-column="40" />
           <folding>
             <element signature="e#34#74#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/AjaxController.php">
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/liste.html.twig">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="135">
-          <caret line="30" column="48" selection-start-line="30" selection-start-column="48" selection-end-line="30" selection-end-column="48" />
-          <folding>
-            <element signature="e#40#73#0#PHP" expanded="true" />
-          </folding>
+        <state relative-caret-position="111">
+          <caret line="27" column="16" selection-start-line="27" selection-start-column="16" selection-end-line="27" selection-end-column="16" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/DefaultController.php">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/videotheque/base.html.twig">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="75">
+          <caret line="5" selection-start-line="5" selection-end-line="5" />
+        </state>
+      </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/SecurityController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="71" column="68" selection-start-line="71" selection-start-column="68" selection-end-line="71" selection-end-column="68" />
+        <state relative-caret-position="246">
+          <caret line="72" column="54" selection-start-line="72" selection-start-column="54" selection-end-line="72" selection-end-column="54" />
           <folding>
             <element signature="e#40#72#0#PHP" expanded="true" />
             <element signature="e#708#739#0#PHP" expanded="true" />
             <element signature="e#1637#1673#0#PHP" expanded="true" />
             <element signature="e#2108#2124#1#PHP" expanded="true" />
             <element signature="e#2658#2694#0#PHP" expanded="true" />
+            <element signature="e#3036#3052#1#PHP" expanded="true" />
+            <element signature="e#2993#3024#1#PHP" expanded="true" />
+            <element signature="e#3436#3452#1#PHP" expanded="true" />
+            <element signature="e#3816#3855#1#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/AppBundle/Controller/VideothequeController.php">
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/supprimeruser.html.twig">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="120">
-          <caret line="18" column="59" selection-start-line="18" selection-start-column="59" selection-end-line="18" selection-end-column="59" />
+        <state relative-caret-position="105">
+          <caret line="7" column="85" selection-start-line="7" selection-start-column="85" selection-end-line="7" selection-end-column="85" />
           <folding>
-            <element signature="e#2343#2359#1#PHP" expanded="true" />
+            <element signature="e#12#31#0#Twig" expanded="true" />
+            <element signature="e#310#323#0#Twig" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/liste.html.twig">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="90">
+          <caret line="6" column="33" lean-forward="true" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="33" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/login.html.twig">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="285">
+          <caret line="19" column="46" selection-start-line="19" selection-start-column="46" selection-end-line="19" selection-end-column="46" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/AppBundle/Resources/views/security/createuser.html.twig">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="105">
+          <caret line="7" column="59" selection-start-line="7" selection-start-column="59" selection-end-line="7" selection-end-column="59" />
+          <folding>
+            <element signature="e#12#26#0#Twig" expanded="true" />
           </folding>
         </state>
       </provider>

+ 1 - 1
app/config/security.yml

@@ -6,7 +6,7 @@ security:
 
     role_hierarchy:
         ROLE_ADMIN: [ROLE_USER, ROLE_MODERATEUR]
-        ROLE_SUPER_ADMIN: (ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
+        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
     # https://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
     providers:
         main:

+ 37 - 2
src/AppBundle/Controller/SecurityController.php

@@ -44,7 +44,7 @@ class SecurityController extends Controller
             $em->persist($user);
             $em->flush();
             $this->addFlash('success', 'L\'utilisateur a été ajouté');
-            return $this->redirectToRoute('videotheque_liste');
+            return $this->redirectToRoute('admin_index');
         }
         return $this->render('@App/security/createuser.html.twig', array (
             'form'  => $form->createView()
@@ -70,12 +70,47 @@ class SecurityController extends Controller
             //$user->setPassword($encoded);
             $em->flush();
             $this->addFlash('success', 'L\'utilisateur a été modifié');
-            return $this->redirectToRoute('videotheque_liste');
+            return $this->redirectToRoute('admin_index');
         }
         return $this->render('@App/security/createuser.html.twig', array (
             'form'  => $form->createView()
         ));
     }
 
+    /**
+     * @Route("/admin", name="admin_index")
+     */
+    public function indexAction(Request $request)
+    {
+        $em = $this->getDoctrine()->getManager();
+        $repo = $em->getRepository('AppBundle:User');
+        $users = $repo->findAll();
+
+        return $this->render('@App/security/liste.html.twig', array(
+            'users' => $users
+        ));
+    }
+
+    /**
+     * @Route("/admin/deluser/{id}", name="admin_deluser")
+     */
+    public function delUserAction (Request $request, $id)
+    {
+        $em = $this->getDoctrine()->getManager();
+        $repo = $em->getRepository('AppBundle:User');
+        $user = $repo->find($id);
+        $form = $this->get('form.factory')->create();
+        if ($form->isSubmitted() && $form->isValid()) {
+            $em->remove($user);
+            $em->flush();
+            $this->addFlash("L'utilisateur a bien été supprimé");
+            return $this->redirectToRoute('admin_index');
+        }
+        return $this->render('@App/security/supprimeruser.html.twig', array (
+            'user'  =>  $user,
+            'form'  =>  $form->createView()
+        ));
+    }
+
 
 }

+ 11 - 2
src/AppBundle/Form/UserType.php

@@ -3,9 +3,11 @@
 namespace AppBundle\Form;
 
 use Symfony\Component\Form\AbstractType;
+use Symfony\Component\Form\Extension\Core\Type\PasswordType;
 use Symfony\Component\Form\Extension\Core\Type\SubmitType;
 use Symfony\Component\Form\FormBuilderInterface;
 use Symfony\Component\OptionsResolver\OptionsResolver;
+use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
 
 class UserType extends AbstractType
 {
@@ -17,8 +19,15 @@ class UserType extends AbstractType
         $builder
             ->add('username')
             ->add('password')
-            //->add('salt')
-            ->add('roles')
+            ->add('roles', ChoiceType::class, array(
+                'choices'   => array (
+                    'Administrateur'    =>  'ROLE_ADMIN',
+                    'User'     =>  'ROLE_USER',
+                    'Modérateur'   =>  'ROLE_MODERATEUR',
+                    'Super Admin'   =>  'ROLE_SUPER_ADMIN'
+                ),
+                'multiple'  => true
+            ))
             ->add('save', SubmitType::class, array('label' => 'Enregistrer'));
 
     }

+ 1 - 0
src/AppBundle/Resources/views/security/createuser.html.twig

@@ -5,4 +5,5 @@
 
 {% block body %}
     {{ form(form) }}
+    <a href="{{ path('admin_index') }}" class="btn btn-link" role="button">Retour à la liste</a>
 {% endblock %}

+ 32 - 0
src/AppBundle/Resources/views/security/liste.html.twig

@@ -0,0 +1,32 @@
+{% extends "base.html.twig" %}
+
+{% block title %}Liste des utilisateurs{%  endblock %}
+{% block titre %}Liste des utilisateurs{%  endblock %}
+
+{% block body %}
+    <p><a class="btn btn-primary" href="{{  path("admin_createuser") }}" role="button">Créer un utiliisateur</a></p>
+
+    <table class="table table-bordered table-hover table-sm">
+        <thead class="thead-dark">
+        <tr>
+            <th>Username</th>
+            <th>Roles</th>
+        </tr>
+        </thead>
+        <tbody>
+        {% for user in users %}
+            <tr>
+                <td>{{ user.username }}</td>
+                <td>{% for role in user.roles %}<p>{{ role }}</p>{% endfor %}</td>
+                <td>
+                    {%  if user != app.user %}<a href="{{ path('admin_deluser', {'id': user.id})  }}"><i class="fas fa-trash", style="color:Tomato;"></i></a>{%  endif %}
+                    <a href="{{ path('admin_edituser', {'id': user.id})  }}"><i class="fas fa-edit", style="color:DodgerBlue;"></i></a>
+
+
+                </td>
+            </tr>
+        {% endfor %}
+        </tbody>
+    </table>
+
+{% endblock %}

+ 19 - 0
src/AppBundle/Resources/views/security/supprimeruser.html.twig

@@ -0,0 +1,19 @@
+{% extends "@App/base.html.twig" %}
+
+{% block title %}Supprimer un utilisateur{% endblock %}
+{% block titre %}Supprimer un utilisateur{% endblock %}
+
+{% block body %}
+    <h2>Confirmation ?</h2>
+    <p>Êtes vous certain de vouloir supprimer l'utilisateur "{{ user.username }}" ?</p>
+    <form action="{{ path('admin_deluser', {'id': user.id}) }}" method="post">
+        <a href="{{ path('admin_index' }}" class="btn btn-default">
+            <i class="fas fa-chevron-circle-left"></i>
+            Retour à la liste des utilisateurs
+        </a>
+        {# Ici j'ai écrit le bouton de soumission à la main #}
+        <input type="submit" value="Supprimer" class="btn btn-danger" />
+        {# Ceci va générer le champ CSRF #}
+        {{ form_rest(form) }}
+    </form>
+{% endblock %}