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>
find orders the records by their
sorting
, with
uid
ascending breaking ties between records that
share a
sorting
value.
These are used by the optional EXT: 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 EXT:.
Migration
No migration is required. A project that extends or replaces one of these
Extbase models has to provide the new
hidden
property and its getter
and setter with the same signatures.