Merge remote-tracking branch 'origin/export-2023-01-fixes'

This commit is contained in:
Julien Fastré 2023-01-16 12:06:55 +01:00
commit 583d7b24ba
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB
48 changed files with 96 additions and 50 deletions

View File

@ -60,7 +60,7 @@ class ByCreatorAggregator implements AggregatorInterface
return 'Created by';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ class BySocialActionAggregator implements AggregatorInterface
return 'Social action';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ class BySocialIssueAggregator implements AggregatorInterface
return 'Social issues';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ class ByThirdpartyAggregator implements AggregatorInterface
return 'Accepted thirdparty';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ class CreatorScopeAggregator implements AggregatorInterface
return 'Scope';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,11 +65,13 @@ class LocationTypeAggregator implements AggregatorInterface
return 'Accepted locationtype';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}
$lt = $this->locationTypeRepository->find($value);
if (null === $lt = $this->locationTypeRepository->find($value)) {
return '';
}
return $this->translatableStringHelper->localize(
$lt->getTitle()

View File

@ -71,7 +71,7 @@ class ActivityTypeAggregator implements AggregatorInterface
return 'Activity type';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -66,7 +66,7 @@ class ActivityUserAggregator implements AggregatorInterface
return 'Activity user';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -64,7 +64,7 @@ class ActivityUsersAggregator implements AggregatorInterface
return 'Activity users';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -63,7 +63,7 @@ class ActivityUsersJobAggregator implements \Chill\MainBundle\Export\AggregatorI
return 'Users \'s job';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -63,7 +63,7 @@ class ActivityUsersScopeAggregator implements \Chill\MainBundle\Export\Aggregato
return 'Users \'s scope';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -134,6 +134,10 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali
return 'reasons' === $data['level'] ? 'Group by reasons' : 'Group by categories of reason';
}
if (null === $value || '' === $value) {
return '';
}
switch ($data['level']) {
case 'reasons':
$r = $this->activityReasonRepository->find($value);

View File

@ -57,6 +57,7 @@ class SentReceivedAggregator implements AggregatorInterface
switch ($value) {
case null:
case '':
return '';
case 'sent':

View File

@ -17,11 +17,9 @@ use Chill\ActivityBundle\Repository\ActivityTypeRepositoryInterface;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
use Chill\PersonBundle\Export\Declarations;
use Doctrine\ORM\Query\Expr;
use Doctrine\ORM\QueryBuilder;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\FormBuilderInterface;
use function in_array;
class ActivityTypeFilter implements FilterInterface
{
@ -44,14 +42,13 @@ class ActivityTypeFilter implements FilterInterface
public function alterQuery(QueryBuilder $qb, $data)
{
if (!in_array('activity', $qb->getAllAliases(), true)) {
$qb->join(Activity::class, 'activity', Expr\Join::WITH, 'activity.accompanyingPeriod = acp');
}
$clause = $qb->expr()->in('activity.activityType', ':selected_activity_types');
$qb->andWhere($clause);
$qb->setParameter('selected_activity_types', $data['types']);
$qb->andWhere(
$qb->expr()->exists(
'SELECT 1 FROM ' . Activity::class . ' act_type_filter_activity
WHERE act_type_filter_activity.activityType IN (:act_type_filter_activity_types) AND act_type_filter_activity.accompanyingPeriod = acp'
)
);
$qb->setParameter('act_type_filter_activity_types', $data['accepted_activitytypes']);
}
public function applyOn()

View File

@ -66,6 +66,10 @@ final class AgentAggregator implements AggregatorInterface
return 'Agent';
}
if (null === $value || '' === $value) {
return '';
}
$r = $this->userRepository->find($value);
return $this->userRender->renderString($r, []);

View File

@ -67,6 +67,10 @@ class CancelReasonAggregator implements AggregatorInterface
return 'Cancel reason';
}
if (null === $value || '' === $value) {
return '';
}
$j = $this->cancelReasonRepository->find($value);
return $this->translatableStringHelper->localize(

View File

@ -66,6 +66,10 @@ final class JobAggregator implements AggregatorInterface
return 'Job';
}
if (null === $value || '' === $value) {
return '';
}
$j = $this->jobRepository->find($value);
return $this->translatableStringHelper->localize(

View File

@ -60,6 +60,10 @@ final class LocationAggregator implements AggregatorInterface
return 'Location';
}
if (null === $value || '' === $value) {
return '';
}
$l = $this->locationRepository->find($value);
return $l->getName();

View File

@ -66,7 +66,13 @@ final class LocationTypeAggregator implements AggregatorInterface
return 'Location type';
}
$j = $this->locationTypeRepository->find($value);
if (null === $value || '' === $value) {
return '';
}
if (null === $j = $this->locationTypeRepository->find($value)) {
return '';
}
return $this->translatableStringHelper->localize(
$j->getTitle()

View File

@ -66,6 +66,10 @@ final class ScopeAggregator implements AggregatorInterface
return 'Scope';
}
if (null === $value || '' === $value) {
return '';
}
$s = $this->scopeRepository->find($value);
return $this->translatableStringHelper->localize(

View File

@ -65,7 +65,7 @@ class AdministrativeLocationAggregator implements AggregatorInterface
return 'Administrative location';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -60,7 +60,7 @@ class ClosingMotiveAggregator implements AggregatorInterface
return 'Closing motive';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ class CreatorJobAggregator implements AggregatorInterface
return 'export.aggregator.course.by_creator_job.Creator\'s job';
}
if (null === $value || null === $j = $this->jobRepository->find($value)) {
if (null === $value || '' === $value || null === $j = $this->jobRepository->find($value)) {
return '';
}

View File

@ -69,7 +69,7 @@ final class EvaluationAggregator implements AggregatorInterface
return 'Evaluation';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -143,7 +143,7 @@ final class GeographicalUnitStatAggregator implements AggregatorInterface
return 'acp_geog_agg_unitname';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ final class JobAggregator implements AggregatorInterface
return 'Job';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -67,7 +67,7 @@ final class OriginAggregator implements AggregatorInterface
return 'Origin';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -94,7 +94,7 @@ final class ReferrerAggregator implements AggregatorInterface
return 'Referrer';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -101,7 +101,7 @@ class ReferrerScopeAggregator implements AggregatorInterface
return 'export.aggregator.course.by_user_scope.Referrer\'s scope';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,11 +65,13 @@ final class ScopeAggregator implements AggregatorInterface
return 'Scope';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}
$s = $this->scopeRepository->find($value);
if (null === $s = $this->scopeRepository->find($value)) {
return '';
}
return $this->translatableStringHelper->localize(
$s->getName()

View File

@ -66,11 +66,13 @@ final class SocialActionAggregator implements AggregatorInterface
return 'Social action';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}
$sa = $this->actionRepository->find($value);
if (null === $sa = $this->actionRepository->find($value)) {
return '';
}
return $this->actionRender->renderString($sa, []);
};

View File

@ -66,6 +66,10 @@ final class SocialIssueAggregator implements AggregatorInterface
return 'Social issues';
}
if (null === $value || '' === $value) {
return '';
}
$i = $this->issueRepository->find($value);
return $this->issueRender->renderString($i, []);

View File

@ -98,6 +98,7 @@ final class StepAggregator implements AggregatorInterface
return 'Step';
case null:
case '':
return '';
default:

View File

@ -60,7 +60,7 @@ class EvaluationTypeAggregator implements AggregatorInterface
return 'Evaluation type';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -89,7 +89,7 @@ class CompositionAggregator implements AggregatorInterface
return 'Composition';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -105,7 +105,7 @@ class ByHouseholdCompositionAggregator implements AggregatorInterface
return 'export.aggregator.person.by_household_composition.Household composition';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -66,6 +66,7 @@ final class GenderAggregator implements AggregatorInterface
return $this->translator->trans('unknown');
case null:
case '':
return $this->translator->trans('Not given');
case '_header':

View File

@ -101,7 +101,7 @@ final class HouseholdPositionAggregator implements AggregatorInterface, ExportEl
return 'Household position';
}
if (null === $value) {
if (null === $value || '' === $value) {
return $this->translator->trans('without data');
}

View File

@ -63,6 +63,10 @@ final class MaritalStatusAggregator implements AggregatorInterface
return 'Marital status';
}
if (null === $value || '' === $value) {
return '';
}
$g = $this->maritalStatusRepository->find($value);
return $this->translatableStringHelper->localize($g->getName());

View File

@ -85,7 +85,7 @@ final class ActionTypeAggregator implements AggregatorInterface
return 'Social Action Type';
}
if (null === $value || null === $sa = $this->socialActionRepository->find($value)) {
if (null === $value || '' === $value || null === $sa = $this->socialActionRepository->find($value)) {
return '';
}

View File

@ -63,7 +63,7 @@ final class GoalAggregator implements AggregatorInterface
return 'Goal Type';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -72,7 +72,7 @@ class GoalResultAggregator implements AggregatorInterface
public function getLabels($key, array $values, $data)
{
return function ($value) use ($key): string {
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ final class JobAggregator implements AggregatorInterface
return 'Job';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ final class ReferrerAggregator implements AggregatorInterface
return 'Referrer';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -63,7 +63,7 @@ final class ResultAggregator implements AggregatorInterface
return 'Result Type';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -65,7 +65,7 @@ final class ScopeAggregator implements AggregatorInterface
return 'Scope';
}
if (null === $value) {
if (null === $value || '' === $value) {
return '';
}

View File

@ -111,10 +111,10 @@ class GeographicalUnitFilter implements \Chill\MainBundle\Export\FilterInterface
public function describeAction($data, $format = 'string')
{
return [
'exports.by_person.Filtered by person\'s geographical unit (based on address) computed at datecalc, only units',
'export.filter.by_geog_unit.Filtered by person\'s geographical unit (based on address) computed at %datecalc%, only %units%',
[
'datecalc' => $this->rollingDateConverter->convert($data['date_calc'])->format('Y-m-d'),
'units' => implode(
'%datecalc%' => $this->rollingDateConverter->convert($data['date_calc'])->format('Y-m-d'),
'%units%' => implode(
', ',
array_map(
function (SimpleGeographicalUnitDTO $item) {

View File

@ -1046,6 +1046,8 @@ export:
Max date: Date d'échéance
filter:
by_geog_unit:
Filtered by person's geographical unit (based on address) computed at %datecalc%, only %units%: Filtré par unité géographique (sur base de l'adresse), calculé le %datecalc%, seulement %units%
person:
by_composition:
Filter by household composition: Filtrer les personnes par composition du ménage