diff --git a/src/Bundle/ChillPersonBundle/Audit/Displayer/HouseholdMemberSubjectDisplayer.php b/src/Bundle/ChillPersonBundle/Audit/Displayer/HouseholdMemberSubjectDisplayer.php new file mode 100644 index 000000000..30944de28 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Audit/Displayer/HouseholdMemberSubjectDisplayer.php @@ -0,0 +1,52 @@ +type; + } + + public function display(Subject $subject, string $format = 'html', array $options = []): string + { + $householdMember = $this->householdMembersRepository->find($subject->identifiers['id']); + + if ('html' === $format) { + return $this->twig->render('@ChillPerson/Audit/household_member.html.twig', [ + 'id' => $subject->identifiers['id'], + 'householdMember' => $householdMember, + ]); + } + + if (null !== $householdMember) { + return sprintf( + '%s in household #%d', + (string) $householdMember->getPerson(), + $householdMember->getHousehold()->getId() + ); + } + + return sprintf('HouseholdMember #%d', $subject->identifiers['id']); + } +} diff --git a/src/Bundle/ChillPersonBundle/Audit/Displayer/HouseholdSubjectDisplayer.php b/src/Bundle/ChillPersonBundle/Audit/Displayer/HouseholdSubjectDisplayer.php new file mode 100644 index 000000000..048ce512d --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Audit/Displayer/HouseholdSubjectDisplayer.php @@ -0,0 +1,44 @@ +type; + } + + public function display(Subject $subject, string $format = 'html', array $options = []): string + { + $household = $this->householdRepository->find($subject->identifiers['id']); + + if ('html' === $format) { + return $this->twig->render('@ChillPerson/Audit/household.html.twig', [ + 'id' => $subject->identifiers['id'], + 'household' => $household, + ]); + } + + return sprintf('Household #%d', $subject->identifiers['id']); + } +} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Audit/household.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Audit/household.html.twig new file mode 100644 index 000000000..70b8f3496 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/Audit/household.html.twig @@ -0,0 +1,9 @@ + + {% if household is not null %} + + {{ 'household'|trans }} #{{ id }} + + {% else %} + {{ 'audit.household.household_not_found_with_id'|trans({'id': id}) }} + {% endif %} + diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Audit/household_member.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Audit/household_member.html.twig new file mode 100644 index 000000000..e41d3dbcf --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/Audit/household_member.html.twig @@ -0,0 +1,11 @@ + + {% if householdMember is not null %} + {{ householdMember.person|chill_entity_render_string }} + {{ 'audit.household_member.member_in_household'|trans }} + + {{ 'Household'|trans }} #{{ householdMember.household.id }} + + {% else %} + {{ 'audit.household_member.not_found_with_id'|trans({'id': id}) }} + {% endif %} +