Show legend for permission values.

This commit is contained in:
Jan Böhmer 2019-09-11 16:54:12 +02:00
parent 35dd1fabc0
commit e7a95926f6
2 changed files with 37 additions and 0 deletions

View file

@ -35,6 +35,9 @@ namespace App\Form\Permissions;
use App\Services\PermissionResolver; use App\Services\PermissionResolver;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\OptionsResolver;
class PermissionsType extends AbstractType class PermissionsType extends AbstractType
{ {
@ -48,6 +51,18 @@ class PermissionsType extends AbstractType
} }
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'show_legend' => true
]);
}
public function buildView(FormView $view, FormInterface $form, array $options)
{
$view->vars['show_legend'] = $options['show_legend'];
}
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)
{ {
$groups = $this->perm_structure['groups']; $groups = $this->perm_structure['groups'];

View file

@ -47,6 +47,28 @@
{% block permissions_row %} {% block permissions_row %}
{{ form_errors(form) }} {{ form_errors(form) }}
{% if show_legend %}
<div class="mb-2">
<label><b>{% trans %}permission.legend.title{% endtrans %}:</b></label>
<div>
<div class="custom-control custom-control-inline custom-checkbox">
<input type="checkbox" hidden class="custom-control-input">
<label class="custom-control-label">{% trans %}permission.legend.disallow{% endtrans %}</label>
</div>
<div class="custom-control custom-control-inline custom-checkbox">
<input class="custom-control-input" type="checkbox" hidden checked>
<label class="custom-control-label">{% trans %}permission.legend.allow{% endtrans %}</label>
</div>
<div class="custom-control custom-control-inline custom-checkbox">
<input type="checkbox" class="tristate custom-control-input" hidden indeterminate="indeterminate">
<label class="custom-control-label">{% trans %}permission.legend.inherit{% endtrans %}</label>
</div>
</div>
</div>
{% endif %}
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
{% for group in form %} {% for group in form %}
<li class="nav-item"> <li class="nav-item">