mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-03 03:46:30 +01:00
Fixed permissions field with nested permissions
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
# v1.10.0-rc.2
|
||||||
|
## mm/dd/2019
|
||||||
|
|
||||||
|
1. [](#bugfix)
|
||||||
|
* Fixed `permissions` field with nested permissions
|
||||||
|
|
||||||
# v1.10.0-rc.1
|
# v1.10.0-rc.1
|
||||||
## 11/06/2019
|
## 11/06/2019
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Grav\Plugin\Admin\Twig;
|
|||||||
use Grav\Common\Data\Data;
|
use Grav\Common\Data\Data;
|
||||||
use Grav\Common\Grav;
|
use Grav\Common\Grav;
|
||||||
use Grav\Common\Page\Interfaces\PageInterface;
|
use Grav\Common\Page\Interfaces\PageInterface;
|
||||||
|
use Grav\Common\Utils;
|
||||||
use Grav\Common\Yaml;
|
use Grav\Common\Yaml;
|
||||||
use Grav\Common\Language\Language;
|
use Grav\Common\Language\Language;
|
||||||
use Twig\Extension\AbstractExtension;
|
use Twig\Extension\AbstractExtension;
|
||||||
@@ -34,6 +35,7 @@ class AdminTwigExtension extends AbstractExtension
|
|||||||
new TwigFilter('fromYaml', [$this, 'fromYamlFilter']),
|
new TwigFilter('fromYaml', [$this, 'fromYamlFilter']),
|
||||||
new TwigFilter('adminNicetime', [$this, 'adminNicetimeFilter']),
|
new TwigFilter('adminNicetime', [$this, 'adminNicetimeFilter']),
|
||||||
new TwigFilter('nested', [$this, 'nestedFilter']),
|
new TwigFilter('nested', [$this, 'nestedFilter']),
|
||||||
|
new TwigFilter('flatten', [$this, 'flattenFilter']),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,6 +66,11 @@ class AdminTwigExtension extends AbstractExtension
|
|||||||
return $current;
|
return $current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function flattenFilter($array)
|
||||||
|
{
|
||||||
|
return Utils::arrayFlattenDotNotation($array);
|
||||||
|
}
|
||||||
|
|
||||||
public function cloneFunc($obj)
|
public function cloneFunc($obj)
|
||||||
{
|
{
|
||||||
return clone $obj;
|
return clone $obj;
|
||||||
|
|||||||
@@ -7,15 +7,13 @@
|
|||||||
|
|
||||||
{% import _self as macro %}
|
{% import _self as macro %}
|
||||||
|
|
||||||
{% set value = (value is null ? field.default : value) %}
|
|
||||||
{% set value = (value is same as(false) ? 0 : value) %}
|
|
||||||
|
|
||||||
{% block global_attributes %}
|
{% block global_attributes %}
|
||||||
data-grav-disabled="{{ originalValue is null ? 'true' : 'false' }}"
|
data-grav-disabled="{{ originalValue is null ? 'true' : 'false' }}"
|
||||||
data-grav-default="{{ field.default|json_encode()|e('html_attr') }}"
|
data-grav-default="{{ field.default|json_encode()|e('html_attr') }}"
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block input %}
|
{% block input %}
|
||||||
|
{% set value = value|flatten %}
|
||||||
<div class="permissions-container">
|
<div class="permissions-container">
|
||||||
{% set permissions = admin.getPermissions %}
|
{% set permissions = admin.getPermissions %}
|
||||||
{% for index_existing_permission, value_existing_permission in value %}
|
{% for index_existing_permission, value_existing_permission in value %}
|
||||||
@@ -26,8 +24,7 @@
|
|||||||
|
|
||||||
{% for permission, type in permissions %}
|
{% for permission, type in permissions %}
|
||||||
<div class="permission-container">
|
<div class="permission-container">
|
||||||
{% set permission_segments = permission|split('.') %}
|
{% set permission_value = value[permission] ?? null %}
|
||||||
{% set permission_value = value[permission_segments[0]][permission_segments[1]] %}
|
|
||||||
{% if permission_value in ['on', 'true', 1] %}
|
{% if permission_value in ['on', 'true', 1] %}
|
||||||
{% set permission_value = 'true' %}
|
{% set permission_value = 'true' %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
Reference in New Issue
Block a user