Rename concernedUsersCount to concernedPersonsCount + add missing translations

This commit is contained in:
2025-10-06 14:30:17 +02:00
parent a46b301e44
commit ac6336d197
9 changed files with 32 additions and 22 deletions

View File

@@ -122,4 +122,4 @@ chill_activity:
seconds: 18000 seconds: 18000
chill_aside_activity: chill_aside_activity:
show_concerned_users_count: true show_concerned_persons_count: true

View File

@@ -25,7 +25,7 @@ final class ChillAsideActivityExtension extends Extension implements PrependExte
$config = $this->processConfiguration($configuration, $configs); $config = $this->processConfiguration($configuration, $configs);
$container->setParameter('chill_aside_activity.form.time_duration', $config['form']['time_duration']); $container->setParameter('chill_aside_activity.form.time_duration', $config['form']['time_duration']);
$container->setParameter('chill_aside_activity.show_concerned_users_count', $config['show_concerned_users_count']); $container->setParameter('chill_aside_activity.show_concerned_persons_count', $config['show_concerned_persons_count']);
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../config')); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../config'));
$loader->load('services.yaml'); $loader->load('services.yaml');

View File

@@ -142,9 +142,9 @@ class Configuration implements ConfigurationInterface
->end() ->end()
->end() ->end()
->end() ->end()
->booleanNode('show_concerned_users_count') ->booleanNode('show_concerned_persons_count')
->defaultTrue() ->defaultTrue()
->info('Show the concerned users count field in aside activity forms and views') ->info('Show the concerned persons count field in aside activity forms and views')
->end() ->end()
->end(); ->end();

View File

@@ -64,7 +64,7 @@ class AsideActivity implements TrackCreationInterface, TrackUpdateInterface
#[Assert\GreaterThanOrEqual(0)] #[Assert\GreaterThanOrEqual(0)]
#[ORM\Column(type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)] #[ORM\Column(type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
private ?int $concernedUsersCount = null; private ?int $concernedPersonsCount = null;
public function getAgent(): ?User public function getAgent(): ?User
{ {
@@ -191,14 +191,14 @@ class AsideActivity implements TrackCreationInterface, TrackUpdateInterface
return $this; return $this;
} }
public function getConcernedUsersCount(): ?int public function getConcernedPersonsCount(): ?int
{ {
return $this->concernedUsersCount; return $this->concernedPersonsCount;
} }
public function setConcernedUsersCount(?int $concernedUsersCount): self public function setConcernedPersonsCount(?int $concernedPersonsCount): self
{ {
$this->concernedUsersCount = $concernedUsersCount; $this->concernedPersonsCount = $concernedPersonsCount;
return $this; return $this;
} }

View File

@@ -30,13 +30,13 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
final class AsideActivityFormType extends AbstractType final class AsideActivityFormType extends AbstractType
{ {
private readonly array $timeChoices; private readonly array $timeChoices;
private readonly bool $showConcernedUsersCount; private readonly bool $showConcernedPersonsCount;
public function __construct( public function __construct(
ParameterBagInterface $parameterBag, ParameterBagInterface $parameterBag,
) { ) {
$this->timeChoices = $parameterBag->get('chill_aside_activity.form.time_duration'); $this->timeChoices = $parameterBag->get('chill_aside_activity.form.time_duration');
$this->showConcernedUsersCount = $parameterBag->get('chill_aside_activity.show_concerned_users_count'); $this->showConcernedPersonsCount = $parameterBag->get('chill_aside_activity.show_concerned_persons_count');
} }
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)
@@ -79,9 +79,9 @@ final class AsideActivityFormType extends AbstractType
->add('location', PickUserLocationType::class) ->add('location', PickUserLocationType::class)
; ;
if ($this->showConcernedUsersCount) { if ($this->showConcernedPersonsCount) {
$builder->add('concernedUsersCount', IntegerType::class, [ $builder->add('concernedPersonsCount', IntegerType::class, [
'label' => 'Concerned users count', 'label' => 'Concerned persons count',
'required' => false, 'required' => false,
'attr' => [ 'attr' => [
'min' => 0, 'min' => 0,

View File

@@ -43,8 +43,8 @@
<div><i class="fa fa-fw fa-map-marker"></i>{{ entity.location.name }}</div> <div><i class="fa fa-fw fa-map-marker"></i>{{ entity.location.name }}</div>
{%- endif -%} {%- endif -%}
{%- if entity.concernedUsersCount > 0 -%} {%- if entity.concernedPersonsCount > 0 -%}
<div><i class="fa fa-fw fa-user"></i>{{ entity.concernedUsersCount }}</div> <div><i class="fa fa-fw fa-user"></i>{{ entity.concernedPersonsCount }}</div>
{%- endif -%} {%- endif -%}
</div> </div>

View File

@@ -38,8 +38,8 @@
<dt class="inline">{{ 'Duration'|trans }}</dt> <dt class="inline">{{ 'Duration'|trans }}</dt>
<dd>{{ entity.duration|date('H:i') }}</dd> <dd>{{ entity.duration|date('H:i') }}</dd>
<dt class="inline">{{ 'Concerned users count'|trans }}</dt> <dt class="inline">{{ 'Concerned persons count'|trans }}</dt>
<dd>{{ entity.concernedUsersCount }}</dd> <dd>{{ entity.concernedPersonsCount }}</dd>
<dt class="inline">{{ 'Remark'|trans }}</dt> <dt class="inline">{{ 'Remark'|trans }}</dt>
{%- if entity.note is empty -%} {%- if entity.note is empty -%}

View File

@@ -2,6 +2,13 @@
declare(strict_types=1); declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\Migrations\AsideActivity; namespace Chill\Migrations\AsideActivity;
use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Schema;
@@ -11,16 +18,16 @@ final class Version20251006113048 extends AbstractMigration
{ {
public function getDescription(): string public function getDescription(): string
{ {
return 'Add concernedUsersCount property to AsideActivity entity'; return 'Add concernedPersonsCount property to AsideActivity entity';
} }
public function up(Schema $schema): void public function up(Schema $schema): void
{ {
$this->addSql('ALTER TABLE chill_asideactivity.asideactivity ADD concernedUsersCount INT DEFAULT NULL'); $this->addSql('ALTER TABLE chill_asideactivity.asideactivity ADD concernedPersonsCount INT DEFAULT NULL');
} }
public function down(Schema $schema): void public function down(Schema $schema): void
{ {
$this->addSql('ALTER TABLE chill_asideactivity.AsideActivity DROP concernedUsersCount'); $this->addSql('ALTER TABLE chill_asideactivity.AsideActivity DROP concernedPersonsCount');
} }
} }

View File

@@ -27,7 +27,7 @@ Emergency: Urgent
by: "Par " by: "Par "
location: Lieu location: Lieu
Asideactivity location: Localisation de l'activité Asideactivity location: Localisation de l'activité
Concerned users count: Nombre d'usager concernés Concerned persons count: Nombre d'usager concernés
# Crud # Crud
crud: crud:
@@ -191,6 +191,7 @@ export:
Count aside activities by various parameters.: Compte le nombre d'activités annexes selon divers critères Count aside activities by various parameters.: Compte le nombre d'activités annexes selon divers critères
Average aside activities duration: Durée moyenne des activités annexes Average aside activities duration: Durée moyenne des activités annexes
Sum aside activities duration: Durée des activités annexes Sum aside activities duration: Durée des activités annexes
Sum concerned persons count for aside activities: Nombre d'usager concernés par les activités annexes
filter: filter:
Filter by aside activity date: Filtrer les activités annexes par date Filter by aside activity date: Filtrer les activités annexes par date
Filter by aside activity type: Filtrer les activités annexes par type d'activité Filter by aside activity type: Filtrer les activités annexes par type d'activité
@@ -211,6 +212,8 @@ export:
'Filtered by aside activity location: only %location%': "Filtré par localisation: uniquement %location%" 'Filtered by aside activity location: only %location%': "Filtré par localisation: uniquement %location%"
aggregator: aggregator:
Group by aside activity type: Grouper les activités annexes par type d'activité Group by aside activity type: Grouper les activités annexes par type d'activité
Group by concerned persons count: Grouper les activités annexes par nombre d'usagers conernés
Concerned persons count: Nombre d'usagers concernés
Aside activity type: Type d'activité annexe Aside activity type: Type d'activité annexe
by_user_job: by_user_job:
Aggregate by user job: Grouper les activités annexes par métier des utilisateurs Aggregate by user job: Grouper les activités annexes par métier des utilisateurs