Feature: Visibility (hidden) support for contact record models
Description
The contact record models gained access to the hidden enable field
that already exists on their database tables:
\FGTCLB\Academic Persons\ Domain\ Model\ Address \FGTCLB\Academic Persons\ Domain\ Model\ Email \FGTCLB\Academic Persons\ Domain\ Model\ Phone Number
Each of them now provides:
getHidden (): bool setHidden (bool $hidden): self
To work with hidden records the matching repositories
(
Address,
Email,
Phone) provide two new methods that ignore the
disabled enable field:
findBy Contract Including Hidden (int $contract Uid): Query Result Interface findBy Uid Including Hidden (int $uid): ?<Model>
These are used by EXT: (optional) to let profile
owners show and hide their contact records in the frontend, while the
public profile display keeps excluding hidden records via the default
Extbase enable field handling.
Impact
The profile synchronization keeps matching and updating existing contact records even when they are hidden, and no longer resets their visibility. Integrators can use the new model accessors and repository methods to handle contact record visibility programmatically.
Affected Installations
All installations using the EXT: extension starting
with version 2.4.
Migration
No migration is required, except you extended and replaced the extbase model in projects - then you need to adopt the newly added properties and setter/getter methods with the same signatures.