From 37fdaadd11fa83cf6aed2c107dbfb01466c1e580 Mon Sep 17 00:00:00 2001
From: nkoporec <me@nkoporec.com>
Date: Fri, 18 Apr 2025 14:10:31 +0200
Subject: [PATCH 1/5] Add courses view to the new hubs view

---
 .../social_course.view_hubs_course_groups.yml | 225 ++++++++++++++++++
 config/update/social_course_update_13001.yml  | 224 +++++++++++++++++
 ...ourse_advanced.view_hubs_course_groups.yml |  18 ++
 .../social_course_advanced_update_13012.yml   |  17 ++
 .../social_course_advanced.install            |  10 +
 ...l_course_basic.view_hubs_course_groups.yml |  18 ++
 .../social_course_basic_update_13011.yml      |  17 ++
 .../social_course_basic.install               |  10 +
 social_course.install                         |  10 +
 social_course.links.menu.yml                  |   4 +
 10 files changed, 553 insertions(+)
 create mode 100644 config/modify/social_course.view_hubs_course_groups.yml
 create mode 100644 config/update/social_course_update_13001.yml
 create mode 100644 modules/social_course_advanced/config/modify/social_course_advanced.view_hubs_course_groups.yml
 create mode 100644 modules/social_course_advanced/config/update/social_course_advanced_update_13012.yml
 create mode 100644 modules/social_course_basic/config/modify/social_course_basic.view_hubs_course_groups.yml
 create mode 100644 modules/social_course_basic/config/update/social_course_basic_update_13011.yml
 create mode 100644 social_course.links.menu.yml

diff --git a/config/modify/social_course.view_hubs_course_groups.yml b/config/modify/social_course.view_hubs_course_groups.yml
new file mode 100644
index 0000000..39c133d
--- /dev/null
+++ b/config/modify/social_course.view_hubs_course_groups.yml
@@ -0,0 +1,225 @@
+items:
+  views.view.group_per_type:
+    expected_config: { }
+    update_actions:
+      add:
+        dependencies:
+          config:
+            - group.type.course_advanced
+            - group.type.course_basic
+        display:
+          course_group:
+            id: course_group
+            display_title: 'Social Course'
+            display_plugin: page
+            position: 2
+            display_options:
+              title: Courses
+              filters:
+                label:
+                  id: label
+                  table: groups_field_data
+                  field: label
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  entity_field: label
+                  plugin_id: string
+                  operator: contains
+                  value: ''
+                  group: 1
+                  exposed: true
+                  expose:
+                    operator_id: label_op
+                    label: Title
+                    description: ''
+                    use_operator: false
+                    operator: label_op
+                    operator_limit_selection: false
+                    operator_list: {  }
+                    identifier: label
+                    required: false
+                    remember: false
+                    multiple: false
+                    remember_roles:
+                      authenticated: authenticated
+                      anonymous: '0'
+                      administrator: '0'
+                      contentmanager: '0'
+                      verified: '0'
+                      sitemanager: '0'
+                    placeholder: ''
+                  is_grouped: false
+                  group_info:
+                    label: ''
+                    description: ''
+                    identifier: ''
+                    optional: true
+                    widget: select
+                    multiple: false
+                    remember: false
+                    default_group: All
+                    default_group_multiple: {  }
+                    group_items: {  }
+                status:
+                  id: status
+                  table: groups_field_data
+                  field: status
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  entity_field: status
+                  plugin_id: boolean
+                  operator: '='
+                  value: '1'
+                  group: 1
+                  exposed: true
+                  expose:
+                    operator_id: ''
+                    label: Published
+                    description: null
+                    use_operator: false
+                    operator: status_op
+                    operator_limit_selection: false
+                    operator_list: {  }
+                    identifier: status
+                    required: true
+                    remember: false
+                    multiple: false
+                    remember_roles:
+                      authenticated: authenticated
+                  is_grouped: true
+                  group_info:
+                    label: Status
+                    description: ''
+                    identifier: status
+                    optional: true
+                    widget: select
+                    multiple: false
+                    remember: false
+                    default_group: All
+                    default_group_multiple: {  }
+                    group_items:
+                      1:
+                        title: Published
+                        operator: '='
+                        value: '1'
+                      2:
+                        title: Unpublished
+                        operator: '='
+                        value: '0'
+                type:
+                  id: type
+                  table: groups_field_data
+                  field: type
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  entity_field: type
+                  plugin_id: bundle
+                  operator: in
+                  value:
+                    course_advanced: course_advanced
+                    course_basic: course_basic
+                  group: 1
+                  exposed: false
+                  expose:
+                    operator_id: ''
+                    label: ''
+                    description: ''
+                    use_operator: false
+                    operator: ''
+                    operator_limit_selection: false
+                    operator_list: {  }
+                    identifier: ''
+                    required: false
+                    remember: false
+                    multiple: false
+                    remember_roles:
+                      authenticated: authenticated
+                    reduce: false
+                  is_grouped: false
+                  group_info:
+                    label: ''
+                    description: ''
+                    identifier: ''
+                    optional: true
+                    widget: select
+                    multiple: false
+                    remember: false
+                    default_group: All
+                    default_group_multiple: {  }
+                    group_items: {  }
+                type_1:
+                  id: type_1
+                  table: groups_field_data
+                  field: type
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  entity_field: type
+                  plugin_id: bundle
+                  operator: in
+                  value:
+                    course_advanced: course_advanced
+                    course_basic: course_basic
+                  group: 1
+                  exposed: true
+                  expose:
+                    operator_id: type_1_op
+                    label: Type
+                    description: ''
+                    use_operator: false
+                    operator: type_1_op
+                    operator_limit_selection: false
+                    operator_list: {  }
+                    identifier: type_1
+                    required: false
+                    remember: false
+                    multiple: false
+                    remember_roles:
+                      authenticated: authenticated
+                      anonymous: '0'
+                      administrator: '0'
+                      contentmanager: '0'
+                      verified: '0'
+                      sitemanager: '0'
+                    reduce: true
+                  is_grouped: false
+                  group_info:
+                    label: ''
+                    description: ''
+                    identifier: ''
+                    optional: true
+                    widget: select
+                    multiple: false
+                    remember: false
+                    default_group: All
+                    default_group_multiple: {  }
+                    group_items: {  }
+              filter_groups:
+                operator: AND
+                groups:
+                  1: AND
+              defaults:
+                title: false
+                filters: false
+                filter_groups: false
+              display_description: ''
+              display_extenders:
+                views_ef_fieldset: {  }
+              path: admin/hub/course-group
+            cache_metadata:
+              max-age: -1
+              contexts:
+                - 'languages:language_content'
+                - 'languages:language_interface'
+                - url
+                - url.query_args
+                - user.permissions
+                - user.social_group_membership
+              tags: {  }
diff --git a/config/update/social_course_update_13001.yml b/config/update/social_course_update_13001.yml
new file mode 100644
index 0000000..2b216b6
--- /dev/null
+++ b/config/update/social_course_update_13001.yml
@@ -0,0 +1,224 @@
+views.view.group_per_type:
+  expected_config: { }
+  update_actions:
+    add:
+      dependencies:
+        config:
+          - group.type.course_advanced
+          - group.type.course_basic
+      display:
+        course_group:
+          id: course_group
+          display_title: 'Social Course'
+          display_plugin: page
+          position: 2
+          display_options:
+            title: Courses
+            filters:
+              label:
+                id: label
+                table: groups_field_data
+                field: label
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: label
+                plugin_id: string
+                operator: contains
+                value: ''
+                group: 1
+                exposed: true
+                expose:
+                  operator_id: label_op
+                  label: Title
+                  description: ''
+                  use_operator: false
+                  operator: label_op
+                  operator_limit_selection: false
+                  operator_list: {  }
+                  identifier: label
+                  required: false
+                  remember: false
+                  multiple: false
+                  remember_roles:
+                    authenticated: authenticated
+                    anonymous: '0'
+                    administrator: '0'
+                    contentmanager: '0'
+                    verified: '0'
+                    sitemanager: '0'
+                  placeholder: ''
+                is_grouped: false
+                group_info:
+                  label: ''
+                  description: ''
+                  identifier: ''
+                  optional: true
+                  widget: select
+                  multiple: false
+                  remember: false
+                  default_group: All
+                  default_group_multiple: {  }
+                  group_items: {  }
+              status:
+                id: status
+                table: groups_field_data
+                field: status
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: status
+                plugin_id: boolean
+                operator: '='
+                value: '1'
+                group: 1
+                exposed: true
+                expose:
+                  operator_id: ''
+                  label: Published
+                  description: null
+                  use_operator: false
+                  operator: status_op
+                  operator_limit_selection: false
+                  operator_list: {  }
+                  identifier: status
+                  required: true
+                  remember: false
+                  multiple: false
+                  remember_roles:
+                    authenticated: authenticated
+                is_grouped: true
+                group_info:
+                  label: Status
+                  description: ''
+                  identifier: status
+                  optional: true
+                  widget: select
+                  multiple: false
+                  remember: false
+                  default_group: All
+                  default_group_multiple: {  }
+                  group_items:
+                    1:
+                      title: Published
+                      operator: '='
+                      value: '1'
+                    2:
+                      title: Unpublished
+                      operator: '='
+                      value: '0'
+              type:
+                id: type
+                table: groups_field_data
+                field: type
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: type
+                plugin_id: bundle
+                operator: in
+                value:
+                  course_advanced: course_advanced
+                  course_basic: course_basic
+                group: 1
+                exposed: false
+                expose:
+                  operator_id: ''
+                  label: ''
+                  description: ''
+                  use_operator: false
+                  operator: ''
+                  operator_limit_selection: false
+                  operator_list: {  }
+                  identifier: ''
+                  required: false
+                  remember: false
+                  multiple: false
+                  remember_roles:
+                    authenticated: authenticated
+                  reduce: false
+                is_grouped: false
+                group_info:
+                  label: ''
+                  description: ''
+                  identifier: ''
+                  optional: true
+                  widget: select
+                  multiple: false
+                  remember: false
+                  default_group: All
+                  default_group_multiple: {  }
+                  group_items: {  }
+              type_1:
+                id: type_1
+                table: groups_field_data
+                field: type
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: type
+                plugin_id: bundle
+                operator: in
+                value:
+                  course_advanced: course_advanced
+                  course_basic: course_basic
+                group: 1
+                exposed: true
+                expose:
+                  operator_id: type_1_op
+                  label: Type
+                  description: ''
+                  use_operator: false
+                  operator: type_1_op
+                  operator_limit_selection: false
+                  operator_list: {  }
+                  identifier: type_1
+                  required: false
+                  remember: false
+                  multiple: false
+                  remember_roles:
+                    authenticated: authenticated
+                    anonymous: '0'
+                    administrator: '0'
+                    contentmanager: '0'
+                    verified: '0'
+                    sitemanager: '0'
+                  reduce: true
+                is_grouped: false
+                group_info:
+                  label: ''
+                  description: ''
+                  identifier: ''
+                  optional: true
+                  widget: select
+                  multiple: false
+                  remember: false
+                  default_group: All
+                  default_group_multiple: {  }
+                  group_items: {  }
+            filter_groups:
+              operator: AND
+              groups:
+                1: AND
+            defaults:
+              title: false
+              filters: false
+              filter_groups: false
+            display_description: ''
+            display_extenders:
+              views_ef_fieldset: {  }
+            path: admin/hub/course-group
+          cache_metadata:
+            max-age: -1
+            contexts:
+              - 'languages:language_content'
+              - 'languages:language_interface'
+              - url
+              - url.query_args
+              - user.permissions
+              - user.social_group_membership
+            tags: {  }
diff --git a/modules/social_course_advanced/config/modify/social_course_advanced.view_hubs_course_groups.yml b/modules/social_course_advanced/config/modify/social_course_advanced.view_hubs_course_groups.yml
new file mode 100644
index 0000000..6267b3a
--- /dev/null
+++ b/modules/social_course_advanced/config/modify/social_course_advanced.view_hubs_course_groups.yml
@@ -0,0 +1,18 @@
+items:
+  views.view.group_per_type:
+    expected_config: { }
+    update_actions:
+      add:
+        dependencies:
+          config:
+            - group.type.course_advanced
+        display:
+          course_group:
+            display_options:
+              filters:
+                type:
+                  value:
+                    course_basic: course_advanced
+                type_1:
+                  value:
+                    course_basic: course_advanced
diff --git a/modules/social_course_advanced/config/update/social_course_advanced_update_13012.yml b/modules/social_course_advanced/config/update/social_course_advanced_update_13012.yml
new file mode 100644
index 0000000..cdcf588
--- /dev/null
+++ b/modules/social_course_advanced/config/update/social_course_advanced_update_13012.yml
@@ -0,0 +1,17 @@
+views.view.group_per_type:
+  expected_config: { }
+  update_actions:
+    add:
+      dependencies:
+        config:
+          - group.type.course_advanced
+      display:
+        course_group:
+          display_options:
+            filters:
+              type:
+                value:
+                  course_basic: course_advanced
+              type_1:
+                value:
+                  course_basic: course_advanced
diff --git a/modules/social_course_advanced/social_course_advanced.install b/modules/social_course_advanced/social_course_advanced.install
index 9a5e088..f83158d 100644
--- a/modules/social_course_advanced/social_course_advanced.install
+++ b/modules/social_course_advanced/social_course_advanced.install
@@ -474,3 +474,13 @@ function social_course_advanced_update_13011(): void {
     \Drupal::service('module_installer')->install(['social_group_default_route']);
   }
 }
+
+/**
+ * Update the new hubs view.
+ */
+function social_course_advanced_update_13012(): string {
+  /** @var \Drupal\update_helper\UpdaterInterface $update_helper */
+  $update_helper = \Drupal::service('update_helper.updater');
+  $update_helper->executeUpdate('social_course_advanced', __FUNCTION__);
+  return $update_helper->logger()->output();
+}
diff --git a/modules/social_course_basic/config/modify/social_course_basic.view_hubs_course_groups.yml b/modules/social_course_basic/config/modify/social_course_basic.view_hubs_course_groups.yml
new file mode 100644
index 0000000..3bae85a
--- /dev/null
+++ b/modules/social_course_basic/config/modify/social_course_basic.view_hubs_course_groups.yml
@@ -0,0 +1,18 @@
+items:
+  views.view.group_per_type:
+    expected_config: { }
+    update_actions:
+      add:
+        dependencies:
+          config:
+            - group.type.course_basic
+        display:
+          course_group:
+            display_options:
+              filters:
+                type:
+                  value:
+                    course_basic: course_basic
+                type_1:
+                  value:
+                    course_basic: course_basic
diff --git a/modules/social_course_basic/config/update/social_course_basic_update_13011.yml b/modules/social_course_basic/config/update/social_course_basic_update_13011.yml
new file mode 100644
index 0000000..bb71490
--- /dev/null
+++ b/modules/social_course_basic/config/update/social_course_basic_update_13011.yml
@@ -0,0 +1,17 @@
+views.view.group_per_type:
+  expected_config: { }
+  update_actions:
+    add:
+      dependencies:
+        config:
+          - group.type.course_basic
+      display:
+        course_group:
+          display_options:
+            filters:
+              type:
+                value:
+                  course_basic: course_basic
+              type_1:
+                value:
+                  course_basic: course_basic
diff --git a/modules/social_course_basic/social_course_basic.install b/modules/social_course_basic/social_course_basic.install
index 2a57ce7..01392b6 100644
--- a/modules/social_course_basic/social_course_basic.install
+++ b/modules/social_course_basic/social_course_basic.install
@@ -395,3 +395,13 @@ function social_course_basic_update_13010(): void {
     \Drupal::service('module_installer')->install(['social_group_default_route']);
   }
 }
+
+/**
+ * Update the new hubs view.
+ */
+function social_course_basic_update_13011(): string {
+  /** @var \Drupal\update_helper\UpdaterInterface $update_helper */
+  $update_helper = \Drupal::service('update_helper.updater');
+  $update_helper->executeUpdate('social_course_basic', __FUNCTION__);
+  return $update_helper->logger()->output();
+}
diff --git a/social_course.install b/social_course.install
index 99bb406..67827d9 100644
--- a/social_course.install
+++ b/social_course.install
@@ -740,3 +740,13 @@ function social_course_update_9506(): string {
   $update_helper->executeUpdate('social_course', __FUNCTION__);
   return $update_helper->logger()->output();
 }
+
+/**
+ * Update the new hub view.
+ */
+function social_course_update_13001(): string {
+  /** @var \Drupal\update_helper\UpdaterInterface $update_helper */
+  $update_helper = \Drupal::service('update_helper.updater');
+  $update_helper->executeUpdate('social_course', __FUNCTION__);
+  return $update_helper->logger()->output();
+}
diff --git a/social_course.links.menu.yml b/social_course.links.menu.yml
new file mode 100644
index 0000000..41fcf52
--- /dev/null
+++ b/social_course.links.menu.yml
@@ -0,0 +1,4 @@
+social_course.hubs.course_group:
+  route_name: view.group_per_type.course_group
+  title: 'Courses'
+  parent: system.admin_group
-- 
GitLab


From 09ec9fe2bdb1cefaa7cddcbaa02ca4e218607ad2 Mon Sep 17 00:00:00 2001
From: nkoporec <me@nkoporec.com>
Date: Wed, 7 May 2025 23:11:59 +0200
Subject: [PATCH 2/5] Add the new config, add hook update dependency

---
 .../social_course.view_hubs_course_groups.yml | 512 ++++++++++++++++-
 config/update/social_course_update_13001.yml  | 513 +++++++++++++++++-
 .../social_course_advanced.install            |  12 +
 .../social_course_basic.install               |  12 +
 social_course.install                         |   5 +
 5 files changed, 1052 insertions(+), 2 deletions(-)

diff --git a/config/modify/social_course.view_hubs_course_groups.yml b/config/modify/social_course.view_hubs_course_groups.yml
index 39c133d..40b2671 100644
--- a/config/modify/social_course.view_hubs_course_groups.yml
+++ b/config/modify/social_course.view_hubs_course_groups.yml
@@ -15,6 +15,447 @@ items:
             position: 2
             display_options:
               title: Courses
+              fields:
+                label:
+                  id: label
+                  table: groups_field_data
+                  field: label
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: null
+                  entity_field: label
+                  plugin_id: field
+                  label: Title
+                  exclude: false
+                  alter:
+                    alter_text: false
+                    text: ''
+                    make_link: false
+                    path: ''
+                    absolute: false
+                    external: false
+                    replace_spaces: false
+                    path_case: none
+                    trim_whitespace: false
+                    alt: ''
+                    rel: ''
+                    link_class: ''
+                    prefix: ''
+                    suffix: ''
+                    target: ''
+                    nl2br: false
+                    max_length: 0
+                    word_boundary: true
+                    ellipsis: true
+                    more_link: false
+                    more_link_text: ''
+                    more_link_path: ''
+                    strip_tags: false
+                    trim: false
+                    preserve_tags: ''
+                    html: false
+                  element_type: ''
+                  element_class: ''
+                  element_label_type: ''
+                  element_label_class: ''
+                  element_label_colon: true
+                  element_wrapper_type: ''
+                  element_wrapper_class: ''
+                  element_default_classes: true
+                  empty: ''
+                  hide_empty: false
+                  empty_zero: false
+                  hide_alter_empty: true
+                  click_sort_column: value
+                  type: string
+                  settings:
+                    link_to_entity: true
+                  group_column: value
+                  group_columns: {  }
+                  group_rows: true
+                  delta_limit: 0
+                  delta_offset: 0
+                  delta_reversed: false
+                  delta_first_last: false
+                  multi_type: separator
+                  separator: ', '
+                  field_api_classes: false
+                type:
+                  id: type
+                  table: groups_field_data
+                  field: type
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  entity_field: type
+                  plugin_id: field
+                  label: Type
+                  exclude: false
+                  alter:
+                    alter_text: false
+                    text: ''
+                    make_link: false
+                    path: ''
+                    absolute: false
+                    external: false
+                    replace_spaces: false
+                    path_case: none
+                    trim_whitespace: false
+                    alt: ''
+                    rel: ''
+                    link_class: ''
+                    prefix: ''
+                    suffix: ''
+                    target: ''
+                    nl2br: false
+                    max_length: 0
+                    word_boundary: true
+                    ellipsis: true
+                    more_link: false
+                    more_link_text: ''
+                    more_link_path: ''
+                    strip_tags: false
+                    trim: false
+                    preserve_tags: ''
+                    html: false
+                  element_type: ''
+                  element_class: ''
+                  element_label_type: ''
+                  element_label_class: ''
+                  element_label_colon: true
+                  element_wrapper_type: ''
+                  element_wrapper_class: ''
+                  element_default_classes: true
+                  empty: ''
+                  hide_empty: false
+                  empty_zero: false
+                  hide_alter_empty: true
+                  click_sort_column: target_id
+                  type: entity_reference_label
+                  settings:
+                    link: false
+                  group_column: target_id
+                  group_columns: {  }
+                  group_rows: true
+                  delta_limit: 0
+                  delta_offset: 0
+                  delta_reversed: false
+                  delta_first_last: false
+                  multi_type: separator
+                  separator: ', '
+                  field_api_classes: false
+                name:
+                  id: name
+                  table: users_field_data
+                  field: name
+                  relationship: uid
+                  group_type: group
+                  admin_label: ''
+                  entity_type: user
+                  entity_field: name
+                  plugin_id: field
+                  label: Author
+                  exclude: false
+                  alter:
+                    alter_text: false
+                    text: ''
+                    make_link: false
+                    path: ''
+                    absolute: false
+                    external: false
+                    replace_spaces: false
+                    path_case: none
+                    trim_whitespace: false
+                    alt: ''
+                    rel: ''
+                    link_class: ''
+                    prefix: ''
+                    suffix: ''
+                    target: ''
+                    nl2br: false
+                    max_length: 0
+                    word_boundary: true
+                    ellipsis: true
+                    more_link: false
+                    more_link_text: ''
+                    more_link_path: ''
+                    strip_tags: false
+                    trim: false
+                    preserve_tags: ''
+                    html: false
+                  element_type: ''
+                  element_class: ''
+                  element_label_type: ''
+                  element_label_class: ''
+                  element_label_colon: true
+                  element_wrapper_type: ''
+                  element_wrapper_class: ''
+                  element_default_classes: true
+                  empty: ''
+                  hide_empty: false
+                  empty_zero: false
+                  hide_alter_empty: true
+                  click_sort_column: value
+                  type: user_name
+                  settings:
+                    link_to_entity: true
+                  group_column: value
+                  group_columns: {  }
+                  group_rows: true
+                  delta_limit: 0
+                  delta_offset: 0
+                  delta_reversed: false
+                  delta_first_last: false
+                  multi_type: separator
+                  separator: ', '
+                  field_api_classes: false
+                group_membership_count:
+                  id: group_membership_count
+                  table: group_relationship
+                  field: group_membership_count
+                  relationship: group_content_id
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group_content
+                  plugin_id: social_group_membership_count
+                  label: Members
+                  exclude: false
+                  alter:
+                    alter_text: false
+                    text: ''
+                    make_link: false
+                    path: ''
+                    absolute: false
+                    external: false
+                    replace_spaces: false
+                    path_case: none
+                    trim_whitespace: false
+                    alt: ''
+                    rel: ''
+                    link_class: ''
+                    prefix: ''
+                    suffix: ''
+                    target: ''
+                    nl2br: false
+                    max_length: 0
+                    word_boundary: true
+                    ellipsis: true
+                    more_link: false
+                    more_link_text: ''
+                    more_link_path: ''
+                    strip_tags: false
+                    trim: false
+                    preserve_tags: ''
+                    html: false
+                  element_type: ''
+                  element_class: ''
+                  element_label_type: ''
+                  element_label_class: ''
+                  element_label_colon: true
+                  element_wrapper_type: ''
+                  element_wrapper_class: ''
+                  element_default_classes: true
+                  empty: ''
+                  hide_empty: false
+                  empty_zero: false
+                  hide_alter_empty: true
+                created:
+                  id: created
+                  table: groups_field_data
+                  field: created
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  entity_field: created
+                  plugin_id: field
+                  label: Created
+                  exclude: false
+                  alter:
+                    alter_text: false
+                    text: ''
+                    make_link: false
+                    path: ''
+                    absolute: false
+                    external: false
+                    replace_spaces: false
+                    path_case: none
+                    trim_whitespace: false
+                    alt: ''
+                    rel: ''
+                    link_class: ''
+                    prefix: ''
+                    suffix: ''
+                    target: ''
+                    nl2br: false
+                    max_length: 0
+                    word_boundary: true
+                    ellipsis: true
+                    more_link: false
+                    more_link_text: ''
+                    more_link_path: ''
+                    strip_tags: false
+                    trim: false
+                    preserve_tags: ''
+                    html: false
+                  element_type: ''
+                  element_class: ''
+                  element_label_type: ''
+                  element_label_class: ''
+                  element_label_colon: true
+                  element_wrapper_type: ''
+                  element_wrapper_class: ''
+                  element_default_classes: true
+                  empty: ''
+                  hide_empty: false
+                  empty_zero: false
+                  hide_alter_empty: true
+                  click_sort_column: value
+                  type: timestamp
+                  settings:
+                    date_format: short
+                    custom_date_format: ''
+                    timezone: ''
+                    tooltip:
+                      date_format: short
+                      custom_date_format: ''
+                    time_diff:
+                      enabled: false
+                      future_format: '@interval hence'
+                      past_format: '@interval ago'
+                      granularity: 2
+                      refresh: 60
+                      description: ''
+                  group_column: value
+                  group_columns: {  }
+                  group_rows: true
+                  delta_limit: 0
+                  delta_offset: 0
+                  delta_reversed: false
+                  delta_first_last: false
+                  multi_type: separator
+                  separator: ', '
+                  field_api_classes: false
+                status:
+                  id: status
+                  table: groups_field_data
+                  field: status
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  entity_field: status
+                  plugin_id: field
+                  label: Status
+                  exclude: false
+                  alter:
+                    alter_text: false
+                    text: ''
+                    make_link: false
+                    path: ''
+                    absolute: false
+                    external: false
+                    replace_spaces: false
+                    path_case: none
+                    trim_whitespace: false
+                    alt: ''
+                    rel: ''
+                    link_class: ''
+                    prefix: ''
+                    suffix: ''
+                    target: ''
+                    nl2br: false
+                    max_length: 0
+                    word_boundary: true
+                    ellipsis: true
+                    more_link: false
+                    more_link_text: ''
+                    more_link_path: ''
+                    strip_tags: false
+                    trim: false
+                    preserve_tags: ''
+                    html: false
+                  element_type: ''
+                  element_class: ''
+                  element_label_type: ''
+                  element_label_class: ''
+                  element_label_colon: true
+                  element_wrapper_type: ''
+                  element_wrapper_class: ''
+                  element_default_classes: true
+                  empty: ''
+                  hide_empty: false
+                  empty_zero: false
+                  hide_alter_empty: true
+                  click_sort_column: value
+                  type: boolean
+                  settings:
+                    format: custom
+                    format_custom_false: Unpublished
+                    format_custom_true: Published
+                  group_column: value
+                  group_columns: {  }
+                  group_rows: true
+                  delta_limit: 0
+                  delta_offset: 0
+                  delta_reversed: false
+                  delta_first_last: false
+                  multi_type: separator
+                  separator: ', '
+                  field_api_classes: false
+                operations:
+                  id: operations
+                  table: groups
+                  field: operations
+                  relationship: none
+                  group_type: group
+                  admin_label: ''
+                  entity_type: group
+                  plugin_id: entity_operations
+                  label: Operations
+                  exclude: false
+                  alter:
+                    alter_text: false
+                    text: ''
+                    make_link: false
+                    path: ''
+                    absolute: false
+                    external: false
+                    replace_spaces: false
+                    path_case: none
+                    trim_whitespace: false
+                    alt: ''
+                    rel: ''
+                    link_class: ''
+                    prefix: ''
+                    suffix: ''
+                    target: ''
+                    nl2br: false
+                    max_length: 0
+                    word_boundary: true
+                    ellipsis: true
+                    more_link: false
+                    more_link_text: ''
+                    more_link_path: ''
+                    strip_tags: false
+                    trim: false
+                    preserve_tags: ''
+                    html: false
+                  element_type: ''
+                  element_class: ''
+                  element_label_type: ''
+                  element_label_class: ''
+                  element_label_colon: true
+                  element_wrapper_type: ''
+                  element_wrapper_class: ''
+                  element_default_classes: true
+                  empty: ''
+                  hide_empty: false
+                  empty_zero: false
+                  hide_alter_empty: true
+                  destination: false
               filters:
                 label:
                   id: label
@@ -205,14 +646,83 @@ items:
                 operator: AND
                 groups:
                   1: AND
+              style:
+                type: table
+                options:
+                  grouping: {  }
+                  row_class: ''
+                  default_row_class: true
+                  columns:
+                    label: label
+                    name: name
+                    group_membership_count: group_membership_count
+                    created: created
+                    status: status
+                    operations: operations
+                  default: created
+                  info:
+                    label:
+                      sortable: true
+                      default_sort_order: asc
+                      align: ''
+                      separator: ''
+                      empty_column: false
+                      responsive: ''
+                    type:
+                      sortable: true
+                      default_sort_order: asc
+                      align: ''
+                      separator: ''
+                      empty_column: false
+                      responsive: ''
+                    name:
+                      sortable: true
+                      default_sort_order: asc
+                      align: ''
+                      separator: ''
+                      empty_column: false
+                      responsive: ''
+                    group_membership_count:
+                      sortable: true
+                      default_sort_order: asc
+                      align: ''
+                      separator: ''
+                      empty_column: false
+                      responsive: ''
+                    created:
+                      sortable: true
+                      default_sort_order: desc
+                      align: ''
+                      separator: ''
+                      empty_column: false
+                      responsive: ''
+                    status:
+                      sortable: true
+                      default_sort_order: asc
+                      align: ''
+                      separator: ''
+                      empty_column: false
+                      responsive: ''
+                    operations:
+                      align: ''
+                      separator: ''
+                      empty_column: false
+                      responsive: ''
+                  override: true
+                  sticky: true
+                  summary: ''
+                  empty_table: false
+                  caption: ''
+                  description: ''
               defaults:
                 title: false
+                fields: false
                 filters: false
                 filter_groups: false
               display_description: ''
               display_extenders:
                 views_ef_fieldset: {  }
-              path: admin/hub/course-group
+              path: admin/courses
             cache_metadata:
               max-age: -1
               contexts:
diff --git a/config/update/social_course_update_13001.yml b/config/update/social_course_update_13001.yml
index 2b216b6..e9dd823 100644
--- a/config/update/social_course_update_13001.yml
+++ b/config/update/social_course_update_13001.yml
@@ -14,6 +14,447 @@ views.view.group_per_type:
           position: 2
           display_options:
             title: Courses
+            fields:
+              label:
+                id: label
+                table: groups_field_data
+                field: label
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: null
+                entity_field: label
+                plugin_id: field
+                label: Title
+                exclude: false
+                alter:
+                  alter_text: false
+                  text: ''
+                  make_link: false
+                  path: ''
+                  absolute: false
+                  external: false
+                  replace_spaces: false
+                  path_case: none
+                  trim_whitespace: false
+                  alt: ''
+                  rel: ''
+                  link_class: ''
+                  prefix: ''
+                  suffix: ''
+                  target: ''
+                  nl2br: false
+                  max_length: 0
+                  word_boundary: true
+                  ellipsis: true
+                  more_link: false
+                  more_link_text: ''
+                  more_link_path: ''
+                  strip_tags: false
+                  trim: false
+                  preserve_tags: ''
+                  html: false
+                element_type: ''
+                element_class: ''
+                element_label_type: ''
+                element_label_class: ''
+                element_label_colon: true
+                element_wrapper_type: ''
+                element_wrapper_class: ''
+                element_default_classes: true
+                empty: ''
+                hide_empty: false
+                empty_zero: false
+                hide_alter_empty: true
+                click_sort_column: value
+                type: string
+                settings:
+                  link_to_entity: true
+                group_column: value
+                group_columns: {  }
+                group_rows: true
+                delta_limit: 0
+                delta_offset: 0
+                delta_reversed: false
+                delta_first_last: false
+                multi_type: separator
+                separator: ', '
+                field_api_classes: false
+              type:
+                id: type
+                table: groups_field_data
+                field: type
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: type
+                plugin_id: field
+                label: Type
+                exclude: false
+                alter:
+                  alter_text: false
+                  text: ''
+                  make_link: false
+                  path: ''
+                  absolute: false
+                  external: false
+                  replace_spaces: false
+                  path_case: none
+                  trim_whitespace: false
+                  alt: ''
+                  rel: ''
+                  link_class: ''
+                  prefix: ''
+                  suffix: ''
+                  target: ''
+                  nl2br: false
+                  max_length: 0
+                  word_boundary: true
+                  ellipsis: true
+                  more_link: false
+                  more_link_text: ''
+                  more_link_path: ''
+                  strip_tags: false
+                  trim: false
+                  preserve_tags: ''
+                  html: false
+                element_type: ''
+                element_class: ''
+                element_label_type: ''
+                element_label_class: ''
+                element_label_colon: true
+                element_wrapper_type: ''
+                element_wrapper_class: ''
+                element_default_classes: true
+                empty: ''
+                hide_empty: false
+                empty_zero: false
+                hide_alter_empty: true
+                click_sort_column: target_id
+                type: entity_reference_label
+                settings:
+                  link: false
+                group_column: target_id
+                group_columns: {  }
+                group_rows: true
+                delta_limit: 0
+                delta_offset: 0
+                delta_reversed: false
+                delta_first_last: false
+                multi_type: separator
+                separator: ', '
+                field_api_classes: false
+              revision_user:
+                id: revision_user
+                table: groups_revision
+                field: revision_user
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: revision_user
+                plugin_id: field
+                label: Author
+                exclude: false
+                alter:
+                  alter_text: false
+                  text: ''
+                  make_link: false
+                  path: ''
+                  absolute: false
+                  external: false
+                  replace_spaces: false
+                  path_case: none
+                  trim_whitespace: false
+                  alt: ''
+                  rel: ''
+                  link_class: ''
+                  prefix: ''
+                  suffix: ''
+                  target: ''
+                  nl2br: false
+                  max_length: 0
+                  word_boundary: true
+                  ellipsis: true
+                  more_link: false
+                  more_link_text: ''
+                  more_link_path: ''
+                  strip_tags: false
+                  trim: false
+                  preserve_tags: ''
+                  html: false
+                element_type: ''
+                element_class: ''
+                element_label_type: ''
+                element_label_class: ''
+                element_label_colon: true
+                element_wrapper_type: ''
+                element_wrapper_class: ''
+                element_default_classes: true
+                empty: ''
+                hide_empty: false
+                empty_zero: false
+                hide_alter_empty: true
+                click_sort_column: target_id
+                type: entity_reference_label
+                settings:
+                  link: true
+                group_column: target_id
+                group_columns: {  }
+                group_rows: true
+                delta_limit: 0
+                delta_offset: 0
+                delta_reversed: false
+                delta_first_last: false
+                multi_type: separator
+                separator: ', '
+                field_api_classes: false
+              group_membership_count:
+                id: group_membership_count
+                table: group_relationship
+                field: group_membership_count
+                relationship: group_content_id
+                group_type: group
+                admin_label: ''
+                entity_type: group_content
+                plugin_id: social_group_membership_count
+                label: Members
+                exclude: false
+                alter:
+                  alter_text: false
+                  text: ''
+                  make_link: false
+                  path: ''
+                  absolute: false
+                  external: false
+                  replace_spaces: false
+                  path_case: none
+                  trim_whitespace: false
+                  alt: ''
+                  rel: ''
+                  link_class: ''
+                  prefix: ''
+                  suffix: ''
+                  target: ''
+                  nl2br: false
+                  max_length: 0
+                  word_boundary: true
+                  ellipsis: true
+                  more_link: false
+                  more_link_text: ''
+                  more_link_path: ''
+                  strip_tags: false
+                  trim: false
+                  preserve_tags: ''
+                  html: false
+                element_type: ''
+                element_class: ''
+                element_label_type: ''
+                element_label_class: ''
+                element_label_colon: true
+                element_wrapper_type: ''
+                element_wrapper_class: ''
+                element_default_classes: true
+                empty: ''
+                hide_empty: false
+                empty_zero: false
+                hide_alter_empty: true
+              created:
+                id: created
+                table: groups_field_data
+                field: created
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: created
+                plugin_id: field
+                label: Created
+                exclude: false
+                alter:
+                  alter_text: false
+                  text: ''
+                  make_link: false
+                  path: ''
+                  absolute: false
+                  external: false
+                  replace_spaces: false
+                  path_case: none
+                  trim_whitespace: false
+                  alt: ''
+                  rel: ''
+                  link_class: ''
+                  prefix: ''
+                  suffix: ''
+                  target: ''
+                  nl2br: false
+                  max_length: 0
+                  word_boundary: true
+                  ellipsis: true
+                  more_link: false
+                  more_link_text: ''
+                  more_link_path: ''
+                  strip_tags: false
+                  trim: false
+                  preserve_tags: ''
+                  html: false
+                element_type: ''
+                element_class: ''
+                element_label_type: ''
+                element_label_class: ''
+                element_label_colon: true
+                element_wrapper_type: ''
+                element_wrapper_class: ''
+                element_default_classes: true
+                empty: ''
+                hide_empty: false
+                empty_zero: false
+                hide_alter_empty: true
+                click_sort_column: value
+                type: timestamp
+                settings:
+                  date_format: short
+                  custom_date_format: ''
+                  timezone: ''
+                  tooltip:
+                    date_format: short
+                    custom_date_format: ''
+                  time_diff:
+                    enabled: false
+                    future_format: '@interval hence'
+                    past_format: '@interval ago'
+                    granularity: 2
+                    refresh: 60
+                    description: ''
+                group_column: value
+                group_columns: {  }
+                group_rows: true
+                delta_limit: 0
+                delta_offset: 0
+                delta_reversed: false
+                delta_first_last: false
+                multi_type: separator
+                separator: ', '
+                field_api_classes: false
+              status:
+                id: status
+                table: groups_field_data
+                field: status
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                entity_field: status
+                plugin_id: field
+                label: Status
+                exclude: false
+                alter:
+                  alter_text: false
+                  text: ''
+                  make_link: false
+                  path: ''
+                  absolute: false
+                  external: false
+                  replace_spaces: false
+                  path_case: none
+                  trim_whitespace: false
+                  alt: ''
+                  rel: ''
+                  link_class: ''
+                  prefix: ''
+                  suffix: ''
+                  target: ''
+                  nl2br: false
+                  max_length: 0
+                  word_boundary: true
+                  ellipsis: true
+                  more_link: false
+                  more_link_text: ''
+                  more_link_path: ''
+                  strip_tags: false
+                  trim: false
+                  preserve_tags: ''
+                  html: false
+                element_type: ''
+                element_class: ''
+                element_label_type: ''
+                element_label_class: ''
+                element_label_colon: true
+                element_wrapper_type: ''
+                element_wrapper_class: ''
+                element_default_classes: true
+                empty: ''
+                hide_empty: false
+                empty_zero: false
+                hide_alter_empty: true
+                click_sort_column: value
+                type: boolean
+                settings:
+                  format: custom
+                  format_custom_false: Unpublished
+                  format_custom_true: Published
+                group_column: value
+                group_columns: {  }
+                group_rows: true
+                delta_limit: 0
+                delta_offset: 0
+                delta_reversed: false
+                delta_first_last: false
+                multi_type: separator
+                separator: ', '
+                field_api_classes: false
+              operations:
+                id: operations
+                table: groups
+                field: operations
+                relationship: none
+                group_type: group
+                admin_label: ''
+                entity_type: group
+                plugin_id: entity_operations
+                label: Operations
+                exclude: false
+                alter:
+                  alter_text: false
+                  text: ''
+                  make_link: false
+                  path: ''
+                  absolute: false
+                  external: false
+                  replace_spaces: false
+                  path_case: none
+                  trim_whitespace: false
+                  alt: ''
+                  rel: ''
+                  link_class: ''
+                  prefix: ''
+                  suffix: ''
+                  target: ''
+                  nl2br: false
+                  max_length: 0
+                  word_boundary: true
+                  ellipsis: true
+                  more_link: false
+                  more_link_text: ''
+                  more_link_path: ''
+                  strip_tags: false
+                  trim: false
+                  preserve_tags: ''
+                  html: false
+                element_type: ''
+                element_class: ''
+                element_label_type: ''
+                element_label_class: ''
+                element_label_colon: true
+                element_wrapper_type: ''
+                element_wrapper_class: ''
+                element_default_classes: true
+                empty: ''
+                hide_empty: false
+                empty_zero: false
+                hide_alter_empty: true
+                destination: false
             filters:
               label:
                 id: label
@@ -204,14 +645,84 @@ views.view.group_per_type:
               operator: AND
               groups:
                 1: AND
+            style:
+              type: table
+              options:
+                grouping: {  }
+                row_class: ''
+                default_row_class: true
+                columns:
+                  label: label
+                  name: name
+                  group_membership_count: group_membership_count
+                  created: created
+                  status: status
+                  operations: operations
+                default: created
+                info:
+                  label:
+                    sortable: true
+                    default_sort_order: asc
+                    align: ''
+                    separator: ''
+                    empty_column: false
+                    responsive: ''
+                  type:
+                    sortable: true
+                    default_sort_order: asc
+                    align: ''
+                    separator: ''
+                    empty_column: false
+                    responsive: ''
+                  name:
+                    sortable: true
+                    default_sort_order: asc
+                    align: ''
+                    separator: ''
+                    empty_column: false
+                    responsive: ''
+                  group_membership_count:
+                    sortable: true
+                    default_sort_order: asc
+                    align: ''
+                    separator: ''
+                    empty_column: false
+                    responsive: ''
+                  created:
+                    sortable: true
+                    default_sort_order: desc
+                    align: ''
+                    separator: ''
+                    empty_column: false
+                    responsive: ''
+                  status:
+                    sortable: true
+                    default_sort_order: asc
+                    align: ''
+                    separator: ''
+                    empty_column: false
+                    responsive: ''
+                  operations:
+                    align: ''
+                    separator: ''
+                    empty_column: false
+                    responsive: ''
+                override: true
+                sticky: true
+                summary: ''
+                empty_table: false
+                caption: ''
+                description: ''
+
             defaults:
               title: false
+              fields: false
               filters: false
               filter_groups: false
             display_description: ''
             display_extenders:
               views_ef_fieldset: {  }
-            path: admin/hub/course-group
+            path: admin/courses
           cache_metadata:
             max-age: -1
             contexts:
diff --git a/modules/social_course_advanced/social_course_advanced.install b/modules/social_course_advanced/social_course_advanced.install
index f83158d..fdca9ed 100644
--- a/modules/social_course_advanced/social_course_advanced.install
+++ b/modules/social_course_advanced/social_course_advanced.install
@@ -29,6 +29,18 @@ function social_course_advanced_install(): void {
   }
 }
 
+/**
+ * Implements hook_update_dependencies().
+ */
+function social_course_advanced_update_dependencies(): array {
+  // We need to run hook 13001, to install the new view.
+  $dependencies['social_course_advanced'][13012] = [
+    'social_course' => 13001,
+  ];
+
+  return $dependencies;
+}
+
 /**
  * Add the field_flexible_group_visibility field to the course_advanced group.
  */
diff --git a/modules/social_course_basic/social_course_basic.install b/modules/social_course_basic/social_course_basic.install
index 01392b6..9b1f3d9 100644
--- a/modules/social_course_basic/social_course_basic.install
+++ b/modules/social_course_basic/social_course_basic.install
@@ -32,6 +32,18 @@ function social_course_basic_install(): void {
   }
 }
 
+/**
+ * Implements hook_update_dependencies().
+ */
+function social_course_basic_update_dependencies(): array {
+  // We need to run hook 13001, to install the new view.
+  $dependencies['social_course_basic'][13011] = [
+    'social_course' => 13001,
+  ];
+
+  return $dependencies;
+}
+
 /**
  * Add the field_flexible_group_visibility field to the course_basic group.
  */
diff --git a/social_course.install b/social_course.install
index 67827d9..62f6c54 100644
--- a/social_course.install
+++ b/social_course.install
@@ -56,6 +56,11 @@ function social_course_update_dependencies(): array {
     'social_course' => 9504,
   ];
 
+  // We need to run hook 13017, to install the new view.
+  $dependencies['social_course'][13001] = [
+    'social_group' => 13017,
+  ];
+
   return $dependencies;
 }
 
-- 
GitLab


From 26168f8a58bb3445a6e383542fcb88174121153b Mon Sep 17 00:00:00 2001
From: nkoporec <me@nkoporec.com>
Date: Wed, 7 May 2025 23:20:44 +0200
Subject: [PATCH 3/5] Update the update yml file

---
 config/update/social_course_update_13001.yml | 23 ++++++++++----------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/config/update/social_course_update_13001.yml b/config/update/social_course_update_13001.yml
index e9dd823..8fe92b7 100644
--- a/config/update/social_course_update_13001.yml
+++ b/config/update/social_course_update_13001.yml
@@ -145,15 +145,15 @@ views.view.group_per_type:
                 multi_type: separator
                 separator: ', '
                 field_api_classes: false
-              revision_user:
-                id: revision_user
-                table: groups_revision
-                field: revision_user
-                relationship: none
+              name:
+                id: name
+                table: users_field_data
+                field: name
+                relationship: uid
                 group_type: group
                 admin_label: ''
-                entity_type: group
-                entity_field: revision_user
+                entity_type: user
+                entity_field: name
                 plugin_id: field
                 label: Author
                 exclude: false
@@ -196,11 +196,11 @@ views.view.group_per_type:
                 hide_empty: false
                 empty_zero: false
                 hide_alter_empty: true
-                click_sort_column: target_id
-                type: entity_reference_label
+                click_sort_column: value
+                type: user_name
                 settings:
-                  link: true
-                group_column: target_id
+                  link_to_entity: true
+                group_column: value
                 group_columns: {  }
                 group_rows: true
                 delta_limit: 0
@@ -713,7 +713,6 @@ views.view.group_per_type:
                 empty_table: false
                 caption: ''
                 description: ''
-
             defaults:
               title: false
               fields: false
-- 
GitLab


From aa3ddc6dc6411f776a27900c7332a052dac7450f Mon Sep 17 00:00:00 2001
From: nkoporec <me@nkoporec.com>
Date: Mon, 12 May 2025 14:02:48 +0200
Subject: [PATCH 4/5] Add action buttons

---
 .../social_course_advanced.links.action.yml                | 7 +++++++
 .../social_course_basic.links.action.yml                   | 7 +++++++
 2 files changed, 14 insertions(+)
 create mode 100644 modules/social_course_advanced/social_course_advanced.links.action.yml
 create mode 100644 modules/social_course_basic/social_course_basic.links.action.yml

diff --git a/modules/social_course_advanced/social_course_advanced.links.action.yml b/modules/social_course_advanced/social_course_advanced.links.action.yml
new file mode 100644
index 0000000..32d059b
--- /dev/null
+++ b/modules/social_course_advanced/social_course_advanced.links.action.yml
@@ -0,0 +1,7 @@
+social_course_advanced.add_group:
+  route_name: entity.group.add_form
+  title: 'Add advanced course'
+  appears_on:
+    - 'view.group_per_type.course_group'
+  route_parameters:
+    group_type: course_advanced
diff --git a/modules/social_course_basic/social_course_basic.links.action.yml b/modules/social_course_basic/social_course_basic.links.action.yml
new file mode 100644
index 0000000..54bf4ec
--- /dev/null
+++ b/modules/social_course_basic/social_course_basic.links.action.yml
@@ -0,0 +1,7 @@
+social_course_basic.add_group:
+  route_name: entity.group.add_form
+  title: 'Add basic course'
+  appears_on:
+    - 'view.group_per_type.course_group'
+  route_parameters:
+    group_type: course_basic
-- 
GitLab


From 31a19360b27ceacdf94d19b0da4019b49a9d6936 Mon Sep 17 00:00:00 2001
From: nkoporec <me@nkoporec.com>
Date: Mon, 12 May 2025 14:16:39 +0200
Subject: [PATCH 5/5] Don't sort by members

---
 config/modify/social_course.view_hubs_course_groups.yml | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/config/modify/social_course.view_hubs_course_groups.yml b/config/modify/social_course.view_hubs_course_groups.yml
index 40b2671..84d5a23 100644
--- a/config/modify/social_course.view_hubs_course_groups.yml
+++ b/config/modify/social_course.view_hubs_course_groups.yml
@@ -655,7 +655,6 @@ items:
                   columns:
                     label: label
                     name: name
-                    group_membership_count: group_membership_count
                     created: created
                     status: status
                     operations: operations
@@ -682,13 +681,6 @@ items:
                       separator: ''
                       empty_column: false
                       responsive: ''
-                    group_membership_count:
-                      sortable: true
-                      default_sort_order: asc
-                      align: ''
-                      separator: ''
-                      empty_column: false
-                      responsive: ''
                     created:
                       sortable: true
                       default_sort_order: desc
-- 
GitLab

