fix mismatch for key in different providers

This commit is contained in:
Julien Fastré 2023-06-13 11:30:00 +02:00
parent 4456fb3749
commit 1f1ebb6adb
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB
2 changed files with 6 additions and 4 deletions

View File

@ -13,6 +13,8 @@ namespace Chill\ActivityBundle\Repository;
use Chill\ActivityBundle\Entity\Activity; use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Security\Authorization\ActivityVoter; use Chill\ActivityBundle\Security\Authorization\ActivityVoter;
use Chill\ActivityBundle\Service\GenericDoc\Providers\AccompanyingPeriodActivityGenericDocProvider;
use Chill\ActivityBundle\Service\GenericDoc\Providers\PersonActivityGenericDocProvider;
use Chill\DocStoreBundle\Entity\PersonDocument; use Chill\DocStoreBundle\Entity\PersonDocument;
use Chill\DocStoreBundle\Entity\StoredObject; use Chill\DocStoreBundle\Entity\StoredObject;
use Chill\DocStoreBundle\GenericDoc\FetchQuery; use Chill\DocStoreBundle\GenericDoc\FetchQuery;
@ -57,7 +59,7 @@ final readonly class ActivityDocumentACLAwareRepository implements ActivityDocum
$activityMetadata = $this->em->getClassMetadata(Activity::class); $activityMetadata = $this->em->getClassMetadata(Activity::class);
$query = new FetchQuery( $query = new FetchQuery(
PersonDocumentGenericDocProvider::KEY, PersonActivityGenericDocProvider::KEY,
sprintf('jsonb_build_object(\'id\', stored_obj.%s, \'activity_id\', activity.%s)', $storedObjectMetadata->getSingleIdentifierColumnName(), $activityMetadata->getSingleIdentifierColumnName()), sprintf('jsonb_build_object(\'id\', stored_obj.%s, \'activity_id\', activity.%s)', $storedObjectMetadata->getSingleIdentifierColumnName(), $activityMetadata->getSingleIdentifierColumnName()),
sprintf('stored_obj.%s', $storedObjectMetadata->getColumnName('createdAt')), sprintf('stored_obj.%s', $storedObjectMetadata->getColumnName('createdAt')),
sprintf('%s AS stored_obj', $storedObjectMetadata->getSchemaName().'.'.$storedObjectMetadata->getTableName()) sprintf('%s AS stored_obj', $storedObjectMetadata->getSchemaName().'.'.$storedObjectMetadata->getTableName())
@ -86,7 +88,7 @@ final readonly class ActivityDocumentACLAwareRepository implements ActivityDocum
$activityMetadata = $this->em->getClassMetadata(Activity::class); $activityMetadata = $this->em->getClassMetadata(Activity::class);
$query = new FetchQuery( $query = new FetchQuery(
PersonDocumentGenericDocProvider::KEY, AccompanyingPeriodActivityGenericDocProvider::KEY,
sprintf('jsonb_build_object(\'id\', stored_obj.%s, \'activity_id\', activity.%s)', $storedObjectMetadata->getSingleIdentifierColumnName(), $activityMetadata->getSingleIdentifierColumnName()), sprintf('jsonb_build_object(\'id\', stored_obj.%s, \'activity_id\', activity.%s)', $storedObjectMetadata->getSingleIdentifierColumnName(), $activityMetadata->getSingleIdentifierColumnName()),
sprintf('stored_obj.%s', $storedObjectMetadata->getColumnName('createdAt')), sprintf('stored_obj.%s', $storedObjectMetadata->getColumnName('createdAt')),
sprintf('%s AS stored_obj', $storedObjectMetadata->getSchemaName().'.'.$storedObjectMetadata->getTableName()) sprintf('%s AS stored_obj', $storedObjectMetadata->getSchemaName().'.'.$storedObjectMetadata->getTableName())

View File

@ -40,6 +40,7 @@ final readonly class AccompanyingCourseDocumentGenericDocRenderer implements Gen
public function getTemplateData(GenericDocDTO $genericDocDTO, $options = []): array public function getTemplateData(GenericDocDTO $genericDocDTO, $options = []): array
{ {
dump($genericDocDTO);
if (AccompanyingCourseDocumentGenericDocProvider::KEY === $genericDocDTO->key) { if (AccompanyingCourseDocumentGenericDocProvider::KEY === $genericDocDTO->key) {
return [ return [
'document' => $doc = $this->accompanyingCourseDocumentRepository->find($genericDocDTO->identifiers['id']), 'document' => $doc = $this->accompanyingCourseDocumentRepository->find($genericDocDTO->identifiers['id']),
@ -47,10 +48,9 @@ final readonly class AccompanyingCourseDocumentGenericDocRenderer implements Gen
'options' => $options, 'options' => $options,
]; ];
} }
// this is a person // this is a person
return [ return [
'document' => $doc = $this->personDocumentRepository->find($genericDocDTO->identifiers['id']), 'document' => $doc = dump($this->personDocumentRepository->find($genericDocDTO->identifiers['id'])),
'person' => $doc->getPerson(), 'person' => $doc->getPerson(),
'options' => $options, 'options' => $options,
]; ];