mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-10-31 09:18:24 +00:00 
			
		
		
		
	Merge branch '172-missing-exports' into 'master'
Fix some issues with exports Closes #172 See merge request Chill-Projet/chill-bundles!601
This commit is contained in:
		| @@ -21,9 +21,9 @@ use Doctrine\ORM\QueryBuilder; | ||||
| use Symfony\Bridge\Doctrine\Form\Type\EntityType; | ||||
| use Symfony\Component\Form\FormBuilderInterface; | ||||
| 
 | ||||
| class UserScopeFilter implements FilterInterface | ||||
| class CreatorScopeFilter implements FilterInterface | ||||
| { | ||||
|     private const PREFIX = 'acp_act_filter_user_scope';  // creator ? cfr translation
 | ||||
|     private const PREFIX = 'acp_act_filter_creator_scope'; | ||||
| 
 | ||||
|     public function __construct( | ||||
|         private readonly TranslatableStringHelper $translatableStringHelper | ||||
| @@ -39,7 +39,7 @@ class UserScopeFilter implements FilterInterface | ||||
|         $p = self::PREFIX; | ||||
| 
 | ||||
|         $qb | ||||
|             ->leftJoin('activity.user', "{$p}_user")  // createdBy ? cfr translation
 | ||||
|             ->leftJoin('activity.createdBy', "{$p}_user") | ||||
|             ->leftJoin( | ||||
|                 UserScopeHistory::class, | ||||
|                 "{$p}_history", | ||||
| @@ -23,8 +23,8 @@ use Symfony\Contracts\Translation\TranslatorInterface; | ||||
| class SentReceivedFilter implements FilterInterface | ||||
| { | ||||
|     private const CHOICES = [ | ||||
|         'is sent' => Activity::SENTRECEIVED_SENT, | ||||
|         'is received' => Activity::SENTRECEIVED_RECEIVED, | ||||
|         'export.filter.activity.by_sent_received.is sent' => Activity::SENTRECEIVED_SENT, | ||||
|         'export.filter.activity.by_sent_received.is received' => Activity::SENTRECEIVED_RECEIVED, | ||||
|     ]; | ||||
|  | ||||
|     private const DEFAULT_CHOICE = Activity::SENTRECEIVED_SENT; | ||||
| @@ -64,6 +64,7 @@ class SentReceivedFilter implements FilterInterface | ||||
|             'multiple' => false, | ||||
|             'expanded' => true, | ||||
|             'empty_data' => self::DEFAULT_CHOICE, | ||||
|             'label' => 'export.filter.activity.by_sent_received.Sent or received', | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -12,7 +12,7 @@ declare(strict_types=1); | ||||
| namespace Chill\ActivityBundle\Tests\Export\Filter; | ||||
| 
 | ||||
| use Chill\ActivityBundle\Entity\Activity; | ||||
| use Chill\ActivityBundle\Export\Filter\UserScopeFilter; | ||||
| use Chill\ActivityBundle\Export\Filter\CreatorScopeFilter; | ||||
| use Chill\MainBundle\Entity\Scope; | ||||
| use Chill\MainBundle\Test\Export\AbstractFilterTest; | ||||
| use Doctrine\ORM\EntityManagerInterface; | ||||
| @@ -22,15 +22,15 @@ use Doctrine\ORM\EntityManagerInterface; | ||||
|  * | ||||
|  * @coversNothing | ||||
|  */ | ||||
| final class UserScopeFilterTest extends AbstractFilterTest | ||||
| final class CreatorScopeFilterTest extends AbstractFilterTest | ||||
| { | ||||
|     private UserScopeFilter $filter; | ||||
|     private CreatorScopeFilter $filter; | ||||
| 
 | ||||
|     protected function setUp(): void | ||||
|     { | ||||
|         self::bootKernel(); | ||||
| 
 | ||||
|         $this->filter = self::$container->get(UserScopeFilter::class); | ||||
|         $this->filter = self::$container->get(CreatorScopeFilter::class); | ||||
|     } | ||||
| 
 | ||||
|     public function getFilter() | ||||
| @@ -109,8 +109,10 @@ services: | ||||
|         tags: | ||||
|             - { name: chill.export_filter, alias: 'activity_user_filter' } | ||||
|  | ||||
|     Chill\ActivityBundle\Export\Filter\UserScopeFilter: | ||||
|     Chill\ActivityBundle\Export\Filter\CreatorScopeFilter: | ||||
|         tags: | ||||
|             # WARNING: for backward compatibility reason, the alias is named with userscope. Changing this will | ||||
|             # affect all saved exports (unless we write a migration for that) | ||||
|             - { name: chill.export_filter, alias: 'activity_userscope_filter' } | ||||
|  | ||||
|     Chill\ActivityBundle\Export\Filter\UsersJobFilter: | ||||
|   | ||||
| @@ -275,7 +275,7 @@ Filter activity by linked socialaction: Filtrer les échanges par action liée | ||||
| 'Filtered activity by linked socialaction: only %actions%': "Filtré par action liée: uniquement %actions%" | ||||
| Filter activity by linked socialissue: Filtrer les échanges par problématique liée | ||||
| 'Filtered activity by linked socialissue: only %issues%': "Filtré par problématique liée: uniquement %issues%" | ||||
| Filter activity by user: Filtrer les échanges par créateur | ||||
| Filter activity by user: Filtrer les échanges par utilisateur principal | ||||
| Filter activity by users: Filtrer les échanges par utilisateur participant | ||||
| Filter activity by creator: Filtrer les échanges par créateur de l'échange | ||||
| 'Filtered activity by user: only %users%': "Filtré par référent: uniquement %users%" | ||||
| @@ -359,7 +359,7 @@ export: | ||||
|                 Filter by users job: Filtrer les échanges par métier d'au moins un utilisateur participant | ||||
|                 'Filtered activity by users job: only %jobs%': 'Filtré par métier d''au moins un utilisateur participant: seulement %jobs%' | ||||
|             by_users_scope: | ||||
|                 Filter by users scope: Filtrer les échanges par services d'au moins un utilisateur participant | ||||
|                 Filter by users scope: Filtrer les échanges par service d'au moins un utilisateur participant | ||||
|                 'Filtered activity by users scope: only %scopes%': 'Filtré par service d''au moins un utilisateur participant: seulement %scopes%' | ||||
|             course_having_activity_between_date: | ||||
|                 Title: Filtrer les parcours ayant reçu un échange entre deux dates | ||||
| @@ -381,6 +381,10 @@ export: | ||||
|                 Filter activity by persons: Filtrer les échanges par usager participant | ||||
|                 'Filtered activity by persons: only %persons%': 'Échanges filtrés par usagers participants: seulement %persons%' | ||||
|                 persons taking part on the activity: Usagers participants à l'échange | ||||
|             by_sent_received: | ||||
|                 Sent or received: Envoyé ou reçu | ||||
|                 is sent: envoyé | ||||
|                 is received: reçu | ||||
|  | ||||
|     aggregator: | ||||
|         acp: | ||||
|   | ||||
| @@ -38,7 +38,7 @@ final readonly class DurationAggregator implements AggregatorInterface | ||||
|         match ($data['precision']) { | ||||
|             'day' => $qb->addSelect('(COALESCE(acp.closingDate, :now) - acp.openingDate)  AS duration_aggregator'), | ||||
|             'week' => $qb->addSelect('(COALESCE(acp.closingDate, :now) - acp.openingDate) / 7  AS duration_aggregator'), | ||||
|             'month' => $qb->addSelect('(EXTRACT (MONTH FROM AGE(COALESCE(acp.closingDate, :now), acp.openingDate)) * 12 + | ||||
|             'month' => $qb->addSelect('(EXTRACT (YEAR FROM AGE(COALESCE(acp.closingDate, :now), acp.openingDate)) * 12 + | ||||
|                     EXTRACT (MONTH FROM AGE(COALESCE(acp.closingDate, :now), acp.openingDate))) AS duration_aggregator'), | ||||
|             default => throw new \LogicException('precision not supported: '.$data['precision']), | ||||
|         }; | ||||
|   | ||||
| @@ -28,7 +28,7 @@ use Symfony\Component\Form\FormBuilderInterface; | ||||
|  * | ||||
|  * Makes use of AccompanyingPeriodInfo | ||||
|  */ | ||||
| readonly class UserWorkingOnCourseFilter implements FilterInterface | ||||
| final readonly class UserWorkingOnCourseFilter implements FilterInterface | ||||
| { | ||||
|     public function __construct( | ||||
|         private UserRender $userRender, | ||||
|   | ||||
| @@ -505,10 +505,10 @@ Accepted origins: Origines | ||||
| "Filtered by origins: only %origins%": "Filtré par origine du parcours: uniquement %origins%" | ||||
| Group by origin: Grouper les parcours par origine du parcours | ||||
|  | ||||
| Filter by closing motive: Filtrer les parcours par motif de fermeture | ||||
| Filter by closing motive: Filtrer les parcours par motif de clôture | ||||
| Accepted closingmotives: Motifs de clôture | ||||
| "Filtered by closingmotive: only %closingmotives%": "Filtré par motif de clôture: uniquement %closingmotives%" | ||||
| Group by closing motive: Grouper les parcours par motif de fermeture | ||||
| Group by closing motive: Grouper les parcours par motif de clôture | ||||
|  | ||||
| Filter by administrative location: Filtrer les parcours par localisation administrative | ||||
| Accepted locations: Localisations administratives | ||||
| @@ -516,7 +516,7 @@ Administrative location: Localisation administrative | ||||
| "Filtered by administratives locations: only %locations%": "Filtré par localisation administrative: uniquement %locations%" | ||||
| Group by administrative location: Grouper les parcours par localisation administrative | ||||
|  | ||||
| Filter by requestor: Filtrer les parcours selon la présence du demandeur au sein des usagers concernés | ||||
| Filter by requestor: Filtrer les parcours selon la nature du demandeur | ||||
| Accepted choices: '' | ||||
| is person concerned: Le demandeur est un usager concerné | ||||
| is other person: Le demandeur est un usager, mais n'est pas concerné | ||||
| @@ -1226,7 +1226,7 @@ export: | ||||
|             referrer: Référent | ||||
|             referrerSince: Référent depuis le | ||||
|             locationIsPerson: Parcours localisé auprès d'un usager concerné | ||||
|             locationIsTemp: Parcours avec une localisation temporaire | ||||
|             locationIsTemp: Parcours avec une localisation temporaire ou auprès d'un usager | ||||
|             locationPersonName: Usager auprès duquel le parcours est localisé | ||||
|             locationPersonId: Identifiant de l'usager auprès duquel le parcours est localisé | ||||
|             acpaddress_fieldscountry: Pays de l'adresse | ||||
|   | ||||
| @@ -131,5 +131,5 @@ export: | ||||
| Filtered by person\'s who have a residential address located at a thirdparty of type %thirparty_type%: Uniquement les usagers qui ont une addresse de résidence chez un tiers de catégorie %thirdparty_type% | ||||
| is thirdparty: Le demandeur est un tiers | ||||
|  | ||||
| Filter by person's who have a residential address located at a thirdparty of type: Filtrer les usagers qui ont une addresse de résidence chez un tiers de catégorie "xxx" | ||||
| Filter by person's who have a residential address located at a thirdparty of type: Filtrer les usagers qui ont une addresse de résidence chez un tiers | ||||
| "Filtered by person's who have a residential address located at a thirdparty of type %thirdparty_type% and valid on %date_calc%": "Uniquement les usagers qui ont une addresse de résidence chez un tiers de catégorie %thirdparty_type% et valide sur la date %date_calc%" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user