Kaynağa Gözat

Add role for editing packages

Jordi Boggiano 12 yıl önce
ebeveyn
işleme
077ac4ff22

+ 2 - 1
app/config/security.yml

@@ -47,6 +47,7 @@ security:
     role_hierarchy:
         ROLE_UPDATE_PACKAGES: ~
         ROLE_DELETE_PACKAGES: ~
+        ROLE_EDIT_PACKAGES: ~
 
-        ROLE_ADMIN:       [ ROLE_USER, ROLE_UPDATE_PACKAGES, ROLE_DELETE_PACKAGES ]
+        ROLE_ADMIN:       [ ROLE_USER, ROLE_UPDATE_PACKAGES, ROLE_EDIT_PACKAGES, ROLE_DELETE_PACKAGES ]
         ROLE_SUPERADMIN:  [ ROLE_ADMIN ]

+ 1 - 1
src/Packagist/WebBundle/Controller/PackageController.php

@@ -36,7 +36,7 @@ class PackageController extends Controller
             throw $this->createNotFoundException("The requested package, $name, could not be found.");
         }
 
-        if (!$package->getMaintainers()->contains($this->getUser()) && !$this->get('security.context')->isGranted('ROLE_UPDATE_PACKAGES')) {
+        if (!$package->getMaintainers()->contains($this->getUser()) && !$this->get('security.context')->isGranted('ROLE_EDIT_PACKAGES')) {
             throw new AccessDeniedException;
         }
 

+ 5 - 4
src/Packagist/WebBundle/Resources/views/Web/viewPackage.html.twig

@@ -12,15 +12,16 @@
 
     <div class="box">
         <div class="package"{% if app.user and package.maintainers.contains(app.user) and package.crawledAt is null %} data-force-crawl="true"{% endif %}>
-            {% if is_granted('ROLE_UPDATE_PACKAGES') or package.maintainers.contains(app.user) %}
+            {% if is_granted('ROLE_EDIT_PACKAGES') or package.maintainers.contains(app.user) %}
                 <form class="action" action="{{ path("edit_package", {name: package.name}) }}">
-                    <input type="submit" value="Edit Package" />
+                    <input type="submit" value="Edit" />
                 </form>
-
+            {% endif %}
+            {% if is_granted('ROLE_UPDATE_PACKAGES') or package.maintainers.contains(app.user) %}
                 <form class="force-update action" action="{{ path('update_package', {name: package.name}) }}" method="POST">
                     <input type="hidden" name="_method" value="PUT" />
                     <input type="hidden" name="update" value="1" />
-                    <input type="submit" value="Force package update" />
+                    <input type="submit" value="Force Update" />
                 </form>
             {% endif %}
             {% if deleteForm is defined %}