Commit dfdcc035 authored by Oleksandr Horbatiuk's avatar Oleksandr Horbatiuk 🧩
Browse files

Issue #3256927 by chmez: Delete redundant markup of the statistics block and...

Issue #3256927 by chmez: Delete redundant markup of the statistics block and restore buttons for accepting or declining an invitation
parent c68d3238
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ use Drupal\node\Entity\Node;
use Drupal\node\NodeInterface;
use Drupal\search_api\Query\QueryInterface;
use Drupal\social_course\Entity\CourseEnrollmentInterface;
use Drupal\social_course\Plugin\Join\SocialCourseJoin;
use Drupal\views\Plugin\views\query\QueryPluginBase;
use Drupal\views\ViewExecutable;

@@ -804,6 +805,19 @@ function social_course_change_form_field_texts(array &$form): void {
  }
}

/**
 * Implements hook_social_group_join_info_alter().
 */
function social_course_social_group_join_info_alter(array &$info): void {
  foreach (['course_basic', 'course_advanced'] as $type) {
    if (\Drupal::moduleHandler()->moduleExists("social_{$type}_invite")) {
      $info['social_group_invite_join']['class'] = SocialCourseJoin::class;

      break;
    }
  }
}

/**
 * Implements hook_social_group_join_method_info_alter().
 */
+19 −0
Original line number Diff line number Diff line
<?php

namespace Drupal\social_course\Plugin\Join;

use Drupal\social_group_invite\Plugin\Join\SocialGroupInviteJoin;

/**
 * Provides a join plugin instance for joining after invitation.
 */
class SocialCourseJoin extends SocialGroupInviteJoin {

  /**
   * {@inheritdoc}
   */
  protected function types(): array {
    return array_merge(parent::types(), ['course_basic', 'course_advanced']);
  }

}
+0 −48
Original line number Diff line number Diff line
{% extends "group--statistic.html.twig" %}

{% block group_statistics_operations %}
  {% if group_operations_url %}
    <div class="hero-footer__cta">
  {# We probably don't need .btn-group here but I can't figure out why it's needed
         so it's only removed for the new user_is_invited set-up #}
    {% if user_is_invited %}
      <div class="dropdown form-group-inline">
    {% else %}
      <div class="btn-group">
    {% endif %}
        {#The above was intentionally not merged with the below!#}
        {% if user_is_invited %}

          <a href="{{ group_invite_accept_operations_url }}" class="form-item btn btn-accent btn-lg btn-raised" title="{% trans %}Join{% endtrans %}">{% trans %}Accept{% endtrans %}</a>
          <button type="button" autocomplete="off" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-accent btn-lg btn-raised waves-effect waves-btn waves-light margin-left-m dropdown-toggle"><span class="caret"></span></button>
          <ul class="dropdown-menu dropdown-menu-right">
            <li><a href="{{ group_invite_decline_operations_url }}">{% trans %}Decline{% endtrans %}</a></li>
          </ul>
        {% elseif joined %}
          <button type="button" autocomplete="off" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-accent btn-block btn-lg btn-raised dropdown-toggle">{% trans with {'context': 'Is a member'} %}Joined{% endtrans %}<span class="caret"></span></button>
          <ul class="dropdown-menu dropdown-menu-right">
            <li><a href="{{ group_operations_url }}">{% trans %}Leave group{% endtrans %}</a></li>
          </ul>
        {% elseif closed_group %}
          {% if allow_request %}
            {% if requested %}
              <button type="button" autocomplete="off" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-accent  btn-block btn-lg btn-raised dropdown-toggle">{% trans %}Request sent{% endtrans %}<span class="caret"></span></button>
              <ul class="dropdown-menu dropdown-menu-right">
                <li><a href="{{ group_operations_url }}">{% trans %}Cancel request{% endtrans %}</a></li>
              </ul>
            {% else %}
              <a href="{{ group_operations_url }}" class="btn btn-accent btn-block use-ajax" title="{% trans %}Request to join{% endtrans %}">{% trans %}Request to join{% endtrans %}</a>
            {% endif %}
          {% else %}
            <a href="{{ group_operations_url }}" class="btn btn-accent btn-block disabled" title="{{ cta }}">{{ cta }}</a>
          {% endif %}
        {% elseif anonymous_request %}
          <a href="{{ group_operations_url }}" class="btn btn-accent btn-block use-ajax" title="{% trans %}Request to join{% endtrans %}">{% trans %}Request to join{% endtrans %}</a>
        {% elseif anonymous_join %}
          <a href="{{ group_operations_url }}" class="btn btn-accent btn-block use-ajax" title="{% trans %}Join{% endtrans %}">{% trans %}Join{% endtrans %}</a>
        {% else %}
          <a href="{{ group_operations_url }}" class="btn btn-accent btn-block" title="{% trans %}Join{% endtrans %}">{% trans %}Join{% endtrans %}</a>
        {% endif %}
      </div>
    </div>
  {% endif %}
{% endblock %}

{% block group_statistics %}
  <div class="card__counter">
    <ul>
+0 −48
Original line number Diff line number Diff line
{% extends "group--statistic.html.twig" %}

{% block group_statistics_operations %}
  {% if group_operations_url %}
  <div class="hero-footer__cta">
    {# We probably don't need .btn-group here but I can't figure out why it's needed
     so it's only removed for the new user_is_invited set-up #}
    {% if user_is_invited %}
      <div class="dropdown form-group-inline">
    {% else %}
      <div class="btn-group">
    {% endif %}
        {#The above was intentionally not merged with the below!#}
        {% if user_is_invited %}

          <a href="{{ group_invite_accept_operations_url }}" class="form-item btn btn-accent btn-lg btn-raised" title="{% trans %}Join{% endtrans %}">{% trans %}Accept{% endtrans %}</a>
          <button type="button" autocomplete="off" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-accent btn-lg btn-raised waves-effect waves-btn waves-light margin-left-m dropdown-toggle"><span class="caret"></span></button>
          <ul class="dropdown-menu dropdown-menu-right">
            <li><a href="{{ group_invite_decline_operations_url }}">{% trans %}Decline{% endtrans %}</a></li>
          </ul>
        {% elseif joined %}
          <button type="button" autocomplete="off" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-accent btn-block btn-lg btn-raised dropdown-toggle">{% trans with {'context': 'Is a member'} %}Joined{% endtrans %}<span class="caret"></span></button>
          <ul class="dropdown-menu dropdown-menu-right">
            <li><a href="{{ group_operations_url }}">{% trans %}Leave group{% endtrans %}</a></li>
          </ul>
        {% elseif closed_group %}
          {% if allow_request %}
            {% if requested %}
              <button type="button" autocomplete="off" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-accent  btn-block btn-lg btn-raised dropdown-toggle">{% trans %}Request sent{% endtrans %}<span class="caret"></span></button>
              <ul class="dropdown-menu dropdown-menu-right">
                <li><a href="{{ group_operations_url }}">{% trans %}Cancel request{% endtrans %}</a></li>
              </ul>
            {% else %}
              <a href="{{ group_operations_url }}" class="btn btn-accent btn-block use-ajax" title="{% trans %}Request to join{% endtrans %}">{% trans %}Request to join{% endtrans %}</a>
            {% endif %}
          {% else %}
            <a href="{{ group_operations_url }}" class="btn btn-accent btn-block disabled" title="{{ cta }}">{{ cta }}</a>
          {% endif %}
        {% elseif anonymous_request %}
          <a href="{{ group_operations_url }}" class="btn btn-accent btn-block use-ajax" title="{% trans %}Request to join{% endtrans %}">{% trans %}Request to join{% endtrans %}</a>
        {% elseif anonymous_join %}
          <a href="{{ group_operations_url }}" class="btn btn-accent btn-block use-ajax" title="{% trans %}Join{% endtrans %}">{% trans %}Join{% endtrans %}</a>
        {% else %}
          <a href="{{ group_operations_url }}" class="btn btn-accent btn-block" title="{% trans %}Join{% endtrans %}">{% trans %}Join{% endtrans %}</a>
        {% endif %}
      </div>
    </div>
  {% endif %}
{% endblock %}

{% block group_statistics %}
  <div class="card__counter">
    <ul>