Commit d919e614 authored by Nikolay Lobachev's avatar Nikolay Lobachev
Browse files

Issue #3304797: Update view plugin.

parent 02bcdb80
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -16,26 +16,26 @@ abstract class MembershipEntityLink extends EntityLink {
   */
  protected function renderLink(ResultRow $row) {
    $plugin_id = 'group_membership_request';
    /** @var \Drupal\group\Entity\GroupContent $group_content */
    $group_content = $row->_entity;
    $group = $group_content->getGroup();
    /** @var \Drupal\group\Entity\GroupRelationship $group_relation */
    $group_relation = $row->_entity;
    $group = $group_relation->getGroup();
    $link = NULL;

    // Check if plugin exists.
    if (!$group->getGroupType()->hasContentPlugin($plugin_id)) {
    if (!$group->getGroupType()->hasPlugin($plugin_id)) {
      return $link;
    }
    // Check if current group content is type of group_membership_request.
    if ($group_content->getContentPlugin()->getPluginId() !== $plugin_id) {
    if ($group_relation->getPluginId() !== $plugin_id) {
      return $link;
    }

    $user = $group_content->getEntity();
    $user = $group_relation->getEntity();

    if (!empty($group->getMember($user))) {
      $link = $this->t('Already member');
    }
    elseif ($group_content->get(GroupMembershipRequest::STATUS_FIELD)->first()->value === GroupMembershipRequest::REQUEST_PENDING && $group->hasPermission('administer membership requests', $this->currentUser)) {
    elseif ($group_relation->get(GroupMembershipRequest::STATUS_FIELD)->first()->value === GroupMembershipRequest::REQUEST_PENDING && $group->hasPermission('administer membership requests', $this->currentUser)) {
      $this->options['alter']['query'] = $this->getDestinationArray();
      $link = parent::renderLink($row);
    }
+2 −2
Original line number Diff line number Diff line
@@ -81,11 +81,11 @@ final class RequestMembership extends FieldPluginBase {
    }

    $build = NULL;
    if (empty($group) || !$group->getGroupType()->hasContentPlugin('group_membership_request')) {
    if (empty($group) || !$group->getGroupType()->hasPlugin('group_membership_request')) {
      return $build;
    }

    $membership_requests = $group->getContentByEntityId('group_membership_request', $this->currentUser->id());
    $membership_requests = $group->getRelationshipsByEntity($this->currentUser, 'group_membership_request');
    if (!empty($group->getMember($this->currentUser))) {
      $build['#markup'] = $this->t('Already member');
    }