* filters call static entity method
* add renderString option to manage add_children
* add tests on new entity method getDescendantsWithThisFor..()
* rename function in repository
* rename 'Select2..' classes by 'Pick..' and replace all occurences
Each time a step is changed on an history, a record is stored in a
dedicated table.
When the acp's opening date is moved, the first row is adapted to match the new opening's date. This
mechanisme does not work if the opening date is move beyon the first end
date (if any), nor on the closing date.
In a ManyToMany relationship, doctrine does take care only of the owning
side of a relationship to inspect changes.
([see
documentation](https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/unitofwork-associations.html#important-concepts))
This commit mark as "internal" the methods add/removeSocialAction on the
inversed side (`Evaluation`) and let the methods add/removeEvaluation
on the owning side (`SocialAction`) update the inversed side.
The usage is also adapted into SocialWorkMetadata's importer.
The association between Person and Center is now stored in a dedicated
Entity: `PersonCenterHistory`, which have a date interval (start date
and endDate). The SQL counterpart is a table, with a constraint which
ensure that no person might be associated with two center at the same time.
For ease, a view is created to get the current center associated with
the person.
The dedicated migration creates also:
* indexes for a rapid search for person at current date;
* and populate the table from current data, setting the startdate to the
person's creation date and time if any, `NOW()` unless.
The `Person` entity is also updated to use the information from the
PersonCenterHistory classes, but this commit does not yet delete the
`Center` column.