Change PickGenderType form field to use in Person creation form

This commit is contained in:
2024-09-26 13:24:30 +02:00
parent b78f0980f5
commit 67a6eb17db
10 changed files with 69 additions and 104 deletions

View File

@@ -3,6 +3,7 @@
namespace Chill\MainBundle\Form;
use Chill\MainBundle\Entity\Gender;
use Chill\MainBundle\Entity\GenderEnum;
use Chill\MainBundle\Form\Type\TranslatableStringFormType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
@@ -20,11 +21,11 @@ class GenderType extends AbstractType
'required' => true,
])
->add('icon', TextType::class)
->add('isGrammatical', ChoiceType::class, [
'choices' => [
'Grammatical' => true,
'Not grammatical' => false,
],
->add('genderTranslation', ChoiceType::class, [
'choices' => GenderEnum::cases(),
'choice_label' => fn(GenderEnum $enum) => ucfirst(strtolower($enum->name)),
'choice_value' => fn(?GenderEnum $enum) => $enum ? $enum->value : null,
'data_class' => null,
])
->add('active', ChoiceType::class, [
'choices' => [

View File

@@ -6,7 +6,7 @@
<th>id</th>
<th>{{ 'gender.label'|trans }}</th>
<th>{{ 'gender.icon'|trans }}</th>
<th>{{ 'gender.isGrammatical'|trans }}</th>
<th>{{ 'gender.genderTranslation'|trans }}</th>
<th>{{ 'gender.active'|trans }}</th>
<th>{{ 'gender.ordering'|trans }}</th>
<th></th>
@@ -16,15 +16,8 @@
<tr>
<td>{{ entity.id }}</td>
<td>{{ entity.label|localize_translatable_string }}</td>
{# todo: decide which icon source to use#}
<td><i class="{{ entity.icon }}"></i></td>
<td style="text-align:center;">
{%- if entity.isGrammatical -%}
<i class="fa fa-check-square-o"></i>
{%- else -%}
<i class="fa fa-square-o"></i>
{%- endif -%}
</td>
<td>{{ entity.genderTranslation.value }}</td>
<td style="text-align:center;">
{%- if entity.active -%}
<i class="fa fa-check-square-o"></i>

View File

@@ -1,28 +0,0 @@
<?php
declare(strict_types=1);
namespace Chill\Migrations\Main;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20240925133053 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add gender entity';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE SEQUENCE chill_main_gender_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
$this->addSql('CREATE TABLE chill_main_gender (id INT NOT NULL, label JSON NOT NULL, active BOOLEAN NOT NULL, isGrammatical BOOLEAN NOT NULL, icon VARCHAR(255) NOT NULL, ordering DOUBLE PRECISION DEFAULT \'0.0\', PRIMARY KEY(id))');
}
public function down(Schema $schema): void
{
$this->addSql('DROP SEQUENCE chill_main_gender_id_seq CASCADE');
$this->addSql('DROP TABLE chill_main_gender');
}
}