diff --git a/Resources/views/CRUD/base_edit.html.twig b/Resources/views/CRUD/base_edit.html.twig
index 10a84e4e0d..14278bf8ec 100644
--- a/Resources/views/CRUD/base_edit.html.twig
+++ b/Resources/views/CRUD/base_edit.html.twig
@@ -25,7 +25,7 @@ file that was distributed with this source code.
{% if admin.hasroute('show') and admin.id(object) and admin.isGranted('VIEW', object) and admin.show|length > 0 %}
{% endif %}
- {% if admin.hasroute('history') and admin.id(object) and admin.isGranted('EDIT') %}
+ {% if admin.hasroute('history') and admin.id(object) and admin.isGranted('EDIT', object) %}
{% endif %}
{% if admin.hasroute('create') and admin.isGranted('CREATE')%}
diff --git a/Resources/views/CRUD/base_history.html.twig b/Resources/views/CRUD/base_history.html.twig
index 99ee9ffecb..2269e62e6f 100644
--- a/Resources/views/CRUD/base_history.html.twig
+++ b/Resources/views/CRUD/base_history.html.twig
@@ -14,10 +14,10 @@ file that was distributed with this source code.
{% block actions %}
- {% if admin.hasroute('edit') and admin.id(object) and admin.isGranted('EDIT') and admin.show|length > 0 %}
+ {% if admin.hasroute('edit') and admin.id(object) and admin.isGranted('EDIT', object) and admin.show|length > 0 %}
{% endif %}
{% if admin.hasroute('list') and admin.isGranted('LIST')%}
diff --git a/Resources/views/CRUD/base_list_field.html.twig b/Resources/views/CRUD/base_list_field.html.twig
index 4052b759f5..04260dbc62 100644
--- a/Resources/views/CRUD/base_list_field.html.twig
+++ b/Resources/views/CRUD/base_list_field.html.twig
@@ -10,7 +10,7 @@ file that was distributed with this source code.
#}
- {% if field_description.options.identifier is defined and admin.isGranted(field_description.options.route.name|upper) and admin.hasRoute(field_description.options.route.name) %}
+ {% if field_description.options.identifier is defined and admin.isGranted(field_description.options.route.name == 'show' ? 'VIEW' : field_description.options.route.name|upper, object) and admin.hasRoute(field_description.options.route.name) %}
{%- block field %}{{ value }}{% endblock -%}
diff --git a/Resources/views/CRUD/base_show.html.twig b/Resources/views/CRUD/base_show.html.twig
index 3ffa0164cc..6a1ae062b0 100644
--- a/Resources/views/CRUD/base_show.html.twig
+++ b/Resources/views/CRUD/base_show.html.twig
@@ -17,7 +17,7 @@ file that was distributed with this source code.
{% if admin.hasRoute('edit') and admin.isGranted('EDIT', object)%}
{% endif %}
- {% if admin.hasroute('history') and admin.id(object) and admin.isGranted('EDIT') %}
+ {% if admin.hasroute('history') and admin.id(object) and admin.isGranted('EDIT', object) %}
{% endif %}
{% if admin.hasRoute('create') and admin.isGranted('CREATE')%}
diff --git a/Resources/views/CRUD/delete.html.twig b/Resources/views/CRUD/delete.html.twig
index 5551f9f218..0743c0b9c6 100644
--- a/Resources/views/CRUD/delete.html.twig
+++ b/Resources/views/CRUD/delete.html.twig
@@ -40,7 +40,7 @@ file that was distributed with this source code.
- {% if admin.hasRoute('edit') and admin.isGranted('EDIT') %}
+ {% if admin.hasRoute('edit') and admin.isGranted('EDIT', object) %}
{% trans from 'SonataAdminBundle' %}delete_or{% endtrans %}
{% trans from 'SonataAdminBundle' %}link_action_edit{% endtrans %}