protected $xmlRepo;
/**
- * @var array<string>
+ * @var string[]
*/
protected $caseTypeNames;
/**
* Check that the case-type names don't rely on double-munging.
*
- * @return array<CRM_Utils_Check_Message>
+ * @return CRM_Utils_Check_Message[]
* An empty array, or a list of warnings
*/
public function checkCaseTypeNameConsistency() {
/**
* Check that the timestamp columns are populated. (CRM-20958)
*
- * @return array<CRM_Utils_Check_Message>
+ * @return CRM_Utils_Check_Message[]
* An empty array, or a list of warnings
*/
public function checkNullTimestamps() {
/**
* Check that the relationship types aren't going to cause problems.
*
- * @return array<CRM_Utils_Check_Message>
+ * @return CRM_Utils_Check_Message[]
* An empty array, or a list of warnings
*/
public function checkRelationshipTypeProblems() {
+ array_column($relationshipTypes, 'id', 'label_b_a');
$missing = [];
foreach ($caseTypes as $caseType) {
- foreach ($caseType['definition']['caseRoles'] as $role) {
+ foreach ($caseType['definition']['caseRoles'] ?? [] as $role) {
if (!isset($allConfigured[$role['name']])) {
$missing[$role['name']] = $role['name'];
}
* We don't have to think about edge cases because there are already
* status checks above for those.
*
- * @return array<CRM_Utils_Check_Message>
+ * @return CRM_Utils_Check_Message[]
* An empty array, or a list of warnings
*/
public function checkExternalXmlFileRoleNames() {