2018-07-09 11:21:52 +00:00
|
|
|
<?php
|
|
|
|
|
2021-02-18 12:02:25 +00:00
|
|
|
namespace Drupal\opencase_cases;
|
2018-07-09 11:21:52 +00:00
|
|
|
|
|
|
|
class CaseInvolvement {
|
|
|
|
|
2018-07-09 17:36:47 +00:00
|
|
|
public static function getLinkedActorId($account) {
|
|
|
|
return \Drupal\user\Entity\User::load($account->id())->get('field_linked_opencase_actor')->target_id;
|
2018-07-09 11:21:52 +00:00
|
|
|
}
|
|
|
|
|
2018-07-09 17:36:47 +00:00
|
|
|
public static function userIsInvolved($account, $case) {
|
|
|
|
$actorId = self::getLinkedActorId($account);
|
2022-01-20 10:52:04 +00:00
|
|
|
$query = \Drupal::entityQuery('oc_case_provision')
|
|
|
|
->condition('provider', $actorId)
|
|
|
|
->condition('case', $case);
|
|
|
|
$results = $query->execute();
|
|
|
|
return !empty($results);
|
2018-07-09 11:21:52 +00:00
|
|
|
}
|
2018-07-19 13:10:02 +00:00
|
|
|
|
|
|
|
public static function userIsInvolved_activity($account, $activity) {
|
|
|
|
$case_id = $activity->oc_case->target_id;
|
|
|
|
$case = \Drupal::entityTypeManager()->getStorage('oc_case')->load($case_id);
|
|
|
|
return self::userIsInvolved($account, $case);
|
|
|
|
}
|
2018-07-09 11:21:52 +00:00
|
|
|
}
|