add flags to permissions groups

Flags can be added to permissions group to store some metadata.

An interface `PermissionsGroupFlagProvider` allow to add some flag to the form which create/
edit permissions groups.
This commit is contained in:
2018-09-07 16:24:36 +02:00
parent b1ae55ba80
commit b9a7314975
12 changed files with 160 additions and 2 deletions

View File

@@ -14,6 +14,10 @@ Chill\MainBundle\Entity\PermissionsGroup:
name:
type: string
length: 255
flags:
type: json
options:
default: '[]'
manyToMany:
roleScopes:
targetEntity: Chill\MainBundle\Entity\RoleScope

View File

@@ -33,6 +33,7 @@ services:
- "@doctrine.orm.entity_manager"
tags:
- { name: form.type, alias: select2_chill_language }
chill.main.form.type.center:
class: Chill\MainBundle\Form\Type\CenterType
arguments:
@@ -130,5 +131,9 @@ services:
arguments:
$chillLogger: '@monolog.logger.chill'
$passwordEncoder: '@Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface'
tags:
- { name: form.type }
Chill\MainBundle\Form\PermissionsGroupType:
tags:
- { name: form.type }

View File

@@ -0,0 +1,25 @@
<?php declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20180905101426 extends AbstractMigration
{
public function up(Schema $schema) : void
{
$this->addSql('ALTER TABLE permission_groups ADD flags JSONB DEFAULT \'[]\' NOT NULL');
$this->addSql('ALTER TABLE group_centers ALTER permissionsgroup_id DROP NOT NULL');
}
public function down(Schema $schema) : void
{
$this->addSql('ALTER TABLE permission_groups DROP COLUMN flags');
$this->addSql('ALTER TABLE group_centers ALTER permissionsgroup_id SET DEFAULT NULL');
}
}

View File

@@ -129,6 +129,7 @@ Edit password for %username%: Éditer le mot de passe de %username%
Change password: Changer le mot de passe
Back to the user edition: Retour au formulaire d'édition
Password successfully updated!: Mot de passe mis à jour
Flags: Drapeaux
#admin section for circles (old: scopes)
List circles: Liste des cercles

View File

@@ -9,6 +9,7 @@
{{ form_start(edit_form) }}
{{ form_row(edit_form.name) }}
{{ form_row(edit_form.flags) }}
{{ form_row(edit_form.submit, { 'attr': { 'class': 'sc-button green' } } ) }}
{{ form_end(edit_form) }}

View File

@@ -7,6 +7,7 @@
{{ form_start(form) }}
{{ form_row(form.name) }}
{{ form_row(form.flags) }}
{{ form_row(form.submit, { 'attr': { 'class': 'sc-button green' } } ) }}
{{ form_end(form) }}