Compare commits

...

18 Commits

Author SHA1 Message Date
3a269ba953 update changelog 2023-11-07 13:28:11 +01:00
a4a4aa119e Merge branch 'issue182_fix_doublon_bug' into 'master'
Adjust query to transfer relationship from one person to another

See merge request Chill-Projet/chill-bundles!603
2023-11-07 12:26:18 +00:00
139f5a1ff9 Merge branch 'issue182_fix_doublon_bug' of gitlab.com:Chill-Projet/chill-bundles into issue182_fix_doublon_bug 2023-11-07 10:54:36 +01:00
1e43772b17 php cs fixer 2023-11-07 10:54:22 +01:00
c29b356c02 minor change to rerun pipeline 2023-11-07 10:54:22 +01:00
050a2955ca Add a comment 2023-11-07 10:54:22 +01:00
a1132cf82f add changie 2023-11-07 10:54:22 +01:00
db70ce4a61 Adjust query to transfer relationship from one person to another depending on whether original person was in the to or from position 2023-11-07 10:54:22 +01:00
4d20a46717 Fix geographical unit stat aggregator: date range on association with left join 2023-11-06 22:03:37 +01:00
dd75cb695c Fix date range operator in GeographicalUnitStatAggregator 2023-11-06 22:03:08 +01:00
8cb9142800 Release for 2.10.5 2023-11-05 23:50:15 +01:00
4847724f6f temporarily allow failure in phpunit tests, due to a problem with timezone 2023-11-05 23:41:54 +01:00
3ce78d0c16 php cs fixer 2023-11-01 10:52:42 +01:00
f43bd2bc58 minor change to rerun pipeline 2023-11-01 09:48:48 +01:00
ec85f05e0b Php cs fixer 2023-10-30 14:09:03 +01:00
bfe0d9a137 Add a comment 2023-10-30 13:52:50 +01:00
cac092c45a add changie 2023-10-30 12:00:25 +01:00
39bb06b991 Adjust query to transfer relationship from one person to another depending on whether original person was in the to or from position 2023-10-30 11:53:41 +01:00
9 changed files with 53 additions and 25 deletions

View File

@@ -1,5 +0,0 @@
kind: Fixed
body: Fix "problem during download" on some filters, which used a wrong data type
time: 2023-11-05T23:04:26.346839079+01:00
custom:
Issue: "183"

View File

@@ -1,5 +0,0 @@
kind: Fixed
body: Fix filter "activity by date"
time: 2023-11-05T23:26:08.685518729+01:00
custom:
Issue: "184"

4
.changes/v2.10.5.md Normal file
View File

@@ -0,0 +1,4 @@
## v2.10.5 - 2023-11-05
### Fixed
* ([#183](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/183)) Fix "problem during download" on some filters, which used a wrong data type
* ([#184](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/184)) Fix filter "activity by date"

4
.changes/v2.10.6.md Normal file
View File

@@ -0,0 +1,4 @@
## v2.10.6 - 2023-11-07
### Fixed
* ([#182](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/182)) Fix merging of double person files. Adjustement relationship sql statement
* ([#185](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/185)) Export: fix aggregator by geographical unit on person: avoid inconsistencies

View File

@@ -28,6 +28,8 @@ variables:
REDIS_PORT: 6379
REDIS_URL: redis://redis:6379
DEFAULT_CARRIER_CODE: BE
# force a timezone
TZ: Europe/Brussels
stages:
- Composer install
@@ -106,6 +108,8 @@ rector_tests:
# - tests/app/vendor/
unit_tests:
# temporarily allow failure due to problem with timezone
allow_failure: true
stage: Tests
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
script:

View File

@@ -6,6 +6,16 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and is generated by [Changie](https://github.com/miniscruff/changie).
## v2.10.6 - 2023-11-07
### Fixed
* ([#182](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/182)) Fix merging of double person files. Adjustement relationship sql statement
* ([#185](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/185)) Export: fix aggregator by geographical unit on person: avoid inconsistencies
## v2.10.5 - 2023-11-05
### Fixed
* ([#183](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/183)) Fix "problem during download" on some filters, which used a wrong data type
* ([#184](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/184)) Fix filter "activity by date"
## v2.10.4 - 2023-10-26
### Fixed
* Fix null value constraint errors when merging relationships in doubles

View File

@@ -24,9 +24,19 @@ class PersonMoveRelationHandler implements PersonMoveSqlHandlerInterface
public function getSqls(string $className, string $field, Person $from, Person $to): array
{
/* Insert sql statement taking into account two cases.
One where the person is the fromperson and another where the person is the toperson in the relationship.*/
$insertSql = sprintf(<<<'SQL'
INSERT INTO chill_person_relationships (id, relation_id, reverse, createdat, createdby_id, fromperson_id, toperson_id)
SELECT nextval('chill_person_relationships_id_seq'), relation_id, reverse, createdat, createdby_id, fromperson_id, toperson_id
SELECT nextval('chill_person_relationships_id_seq'), relation_id, reverse, createdat, createdby_id,
CASE
WHEN cpr.fromperson_id = %d THEN %d
ELSE cpr.fromperson_id
END as fromperson,
CASE
WHEN cpr.toperson_id = %d THEN %d
ELSE cpr.toperson_id
END as toperson
FROM chill_person_relationships cpr
WHERE fromperson_id = %d OR toperson_id = %d
AND NOT EXISTS (
@@ -35,7 +45,7 @@ class PersonMoveRelationHandler implements PersonMoveSqlHandlerInterface
cpr2.fromperson_id = %d AND cpr2.toperson_id = %d
OR cpr2.fromperson_id = %d AND cpr2.toperson_id = %d
);
SQL, $from->getId(), $from->getId(), $to->getId(), $from->getId(), $from->getId(), $to->getId());
SQL, $from->getId(), $to->getId(), $from->getId(), $to->getId(), $from->getId(), $from->getId(), $to->getId(), $from->getId(), $from->getId(), $to->getId());
$deleteSql = [
sprintf('DELETE FROM chill_person_relationships WHERE fromperson_id = %d', $from->getId()),

View File

@@ -56,7 +56,7 @@ final readonly class GeographicalUnitStatAggregator implements AggregatorInterfa
Join::WITH,
$qb->expr()->andX(
'IDENTITY(acp_geog_agg_address_person_location.person) = IDENTITY(acp_geog_agg_location_history.personLocation)',
'acp_geog_agg_address_person_location.validFrom < :acp_geog_aggregator_date',
'acp_geog_agg_address_person_location.validFrom <= :acp_geog_aggregator_date',
$qb->expr()->orX(
'acp_geog_agg_address_person_location.validTo > :acp_geog_aggregator_date',
$qb->expr()->isNull('acp_geog_agg_address_person_location.validTo')

View File

@@ -19,6 +19,7 @@ use Chill\MainBundle\Service\RollingDate\RollingDate;
use Chill\MainBundle\Service\RollingDate\RollingDateConverterInterface;
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
use Chill\PersonBundle\Export\Declarations;
use Doctrine\ORM\Query\Expr\Join;
use Doctrine\ORM\QueryBuilder;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\FormBuilderInterface;
@@ -35,21 +36,26 @@ class GeographicalUnitAggregator implements AggregatorInterface
public function alterQuery(QueryBuilder $qb, $data): void
{
$qb
->leftJoin('person.householdAddresses', 'person_geog_agg_current_household_address')
->leftJoin('person_geog_agg_current_household_address.address', 'person_geog_agg_address')
->leftJoin('person_geog_agg_address.geographicalUnits', 'person_geog_agg_geog_unit')
->andWhere(
$qb->expr()->orX(
$qb->expr()->isNull('person_geog_agg_current_household_address'),
$qb->expr()->andX(
$qb->expr()->lte('person_geog_agg_current_household_address.validFrom', ':person_geog_agg_date'),
$qb->expr()->orX(
$qb->expr()->isNull('person_geog_agg_current_household_address.validTo'),
$qb->expr()->gt('person_geog_agg_current_household_address.validTo', ':person_geog_agg_date')
)
->leftJoin(
'person.householdAddresses',
'person_geog_agg_current_household_address',
Join::WITH,
$qb->expr()->andX(
$qb->expr()->lte('person_geog_agg_current_household_address.validFrom', ':person_geog_agg_date'),
$qb->expr()->orX(
$qb->expr()->isNull('person_geog_agg_current_household_address.validTo'),
$qb->expr()->gt('person_geog_agg_current_household_address.validTo', ':person_geog_agg_date')
)
)
)
->leftJoin(
'person_geog_agg_current_household_address.address',
'person_geog_agg_address'
)
->leftJoin(
'person_geog_agg_address.geographicalUnits',
'person_geog_agg_geog_unit'
)
->andWhere(
$qb->expr()->orX(
$qb->expr()->isNull('person_geog_agg_geog_unit'),