more group (bourgeons) configs
This commit is contained in:
parent
2fbdc274b7
commit
f9e76d4e4c
@ -25,7 +25,7 @@
|
|||||||
"drupal/flexible_permissions": "@beta",
|
"drupal/flexible_permissions": "@beta",
|
||||||
"drupal/genpass": "^1.1",
|
"drupal/genpass": "^1.1",
|
||||||
"drupal/graphql": "4.x-dev@dev",
|
"drupal/graphql": "4.x-dev@dev",
|
||||||
"drupal/group": "^3.0@beta",
|
"drupal/group": "3.0.x-dev@dev",
|
||||||
"drupal/mail_login": "^2.6",
|
"drupal/mail_login": "^2.6",
|
||||||
"drupal/paragraphs": "^1.15",
|
"drupal/paragraphs": "^1.15",
|
||||||
"drupal/restui": "^1.21",
|
"drupal/restui": "^1.21",
|
||||||
|
23
src/composer.lock
generated
23
src/composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "738ea5aca8b978a6f7588d32987b2071",
|
"content-hash": "5365133aecbc598c646688e7709f48d0",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "alchemy/zippy",
|
"name": "alchemy/zippy",
|
||||||
@ -5530,17 +5530,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "drupal/group",
|
"name": "drupal/group",
|
||||||
"version": "3.0.0-beta3",
|
"version": "dev-3.0.x",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.drupalcode.org/project/group.git",
|
"url": "https://git.drupalcode.org/project/group.git",
|
||||||
"reference": "3.0.0-beta3"
|
"reference": "cf02cb68fc355ff4221910e3d68e128252b1bb81"
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://ftp.drupal.org/files/projects/group-3.0.0-beta3.zip",
|
|
||||||
"reference": "3.0.0-beta3",
|
|
||||||
"shasum": "87717e1c5defe6157435683bb4ff052c02293863"
|
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"drupal/core": "^9 || ^10",
|
"drupal/core": "^9 || ^10",
|
||||||
@ -5549,12 +5543,15 @@
|
|||||||
},
|
},
|
||||||
"type": "drupal-module",
|
"type": "drupal-module",
|
||||||
"extra": {
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-3.0.x": "3.0.x-dev"
|
||||||
|
},
|
||||||
"drupal": {
|
"drupal": {
|
||||||
"version": "3.0.0-beta3",
|
"version": "3.0.0-beta3+1-dev",
|
||||||
"datestamp": "1661862170",
|
"datestamp": "1662110070",
|
||||||
"security-coverage": {
|
"security-coverage": {
|
||||||
"status": "not-covered",
|
"status": "not-covered",
|
||||||
"message": "Beta releases are not covered by Drupal security advisories."
|
"message": "Dev releases are not covered by Drupal security advisories."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -14038,7 +14035,7 @@
|
|||||||
"drupal/audiofield": 20,
|
"drupal/audiofield": 20,
|
||||||
"drupal/flexible_permissions": 10,
|
"drupal/flexible_permissions": 10,
|
||||||
"drupal/graphql": 20,
|
"drupal/graphql": 20,
|
||||||
"drupal/group": 10,
|
"drupal/group": 20,
|
||||||
"drupal/typed_data": 20,
|
"drupal/typed_data": 20,
|
||||||
"drupal/autocomplete_deluxe": 5,
|
"drupal/autocomplete_deluxe": 5,
|
||||||
"drupal/better_exposed_filters": 10,
|
"drupal/better_exposed_filters": 10,
|
||||||
|
@ -5,3 +5,9 @@ role_menu_pairs:
|
|||||||
-
|
-
|
||||||
role: admin
|
role: admin
|
||||||
menu: administrator
|
menu: administrator
|
||||||
|
-
|
||||||
|
role: group_admin
|
||||||
|
menu: administrator
|
||||||
|
-
|
||||||
|
role: group_member
|
||||||
|
menu: administrator
|
||||||
|
@ -5,8 +5,6 @@ dependencies:
|
|||||||
config:
|
config:
|
||||||
- field.field.group_relationship.bourgeon-group_membership.group_roles
|
- field.field.group_relationship.bourgeon-group_membership.group_roles
|
||||||
- group.relationship_type.bourgeon-group_membership
|
- group.relationship_type.bourgeon-group_membership
|
||||||
module:
|
|
||||||
- path
|
|
||||||
id: group_relationship.bourgeon-group_membership.default
|
id: group_relationship.bourgeon-group_membership.default
|
||||||
targetEntityType: group_relationship
|
targetEntityType: group_relationship
|
||||||
bundle: bourgeon-group_membership
|
bundle: bourgeon-group_membership
|
||||||
@ -14,7 +12,7 @@ mode: default
|
|||||||
content:
|
content:
|
||||||
entity_id:
|
entity_id:
|
||||||
type: entity_reference_autocomplete
|
type: entity_reference_autocomplete
|
||||||
weight: 1
|
weight: 0
|
||||||
region: content
|
region: content
|
||||||
settings:
|
settings:
|
||||||
match_operator: CONTAINS
|
match_operator: CONTAINS
|
||||||
@ -24,31 +22,11 @@ content:
|
|||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
group_roles:
|
group_roles:
|
||||||
type: options_buttons
|
type: options_buttons
|
||||||
weight: 3
|
weight: 1
|
||||||
region: content
|
region: content
|
||||||
settings: { }
|
settings: { }
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
langcode:
|
hidden:
|
||||||
type: language_select
|
langcode: true
|
||||||
weight: 0
|
path: true
|
||||||
region: content
|
uid: true
|
||||||
settings:
|
|
||||||
include_locked: true
|
|
||||||
third_party_settings: { }
|
|
||||||
path:
|
|
||||||
type: path
|
|
||||||
weight: 2
|
|
||||||
region: content
|
|
||||||
settings: { }
|
|
||||||
third_party_settings: { }
|
|
||||||
uid:
|
|
||||||
type: entity_reference_autocomplete
|
|
||||||
weight: 4
|
|
||||||
region: content
|
|
||||||
settings:
|
|
||||||
match_operator: CONTAINS
|
|
||||||
match_limit: 10
|
|
||||||
size: 60
|
|
||||||
placeholder: ''
|
|
||||||
third_party_settings: { }
|
|
||||||
hidden: { }
|
|
||||||
|
@ -10,16 +10,23 @@ targetEntityType: group_relationship
|
|||||||
bundle: bourgeon-group_membership
|
bundle: bourgeon-group_membership
|
||||||
mode: default
|
mode: default
|
||||||
content:
|
content:
|
||||||
|
entity_id:
|
||||||
|
type: entity_reference_label
|
||||||
|
label: above
|
||||||
|
settings:
|
||||||
|
link: true
|
||||||
|
third_party_settings: { }
|
||||||
|
weight: 0
|
||||||
|
region: content
|
||||||
group_roles:
|
group_roles:
|
||||||
type: entity_reference_label
|
type: entity_reference_label
|
||||||
label: above
|
label: above
|
||||||
settings:
|
settings:
|
||||||
link: false
|
link: false
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: -4
|
weight: 1
|
||||||
region: content
|
region: content
|
||||||
hidden:
|
hidden:
|
||||||
entity_id: true
|
|
||||||
langcode: true
|
langcode: true
|
||||||
search_api_excerpt: true
|
search_api_excerpt: true
|
||||||
uid: true
|
uid: true
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
uuid: c9499d4c-271f-4de2-80aa-9b676838a14f
|
||||||
|
langcode: fr
|
||||||
|
status: true
|
||||||
|
dependencies:
|
||||||
|
config:
|
||||||
|
- group.type.bourgeon
|
||||||
|
- node.type.concernement
|
||||||
|
module:
|
||||||
|
- gnode
|
||||||
|
- node
|
||||||
|
id: bourgeon-group_node-concernement
|
||||||
|
group_type: bourgeon
|
||||||
|
content_plugin: 'group_node:concernement'
|
||||||
|
plugin_config:
|
||||||
|
group_cardinality: 0
|
||||||
|
entity_cardinality: 1
|
||||||
|
use_creation_wizard: false
|
@ -0,0 +1,17 @@
|
|||||||
|
uuid: 0a5ed664-438a-4434-9bec-00dd1402daef
|
||||||
|
langcode: fr
|
||||||
|
status: true
|
||||||
|
dependencies:
|
||||||
|
config:
|
||||||
|
- group.type.bourgeon
|
||||||
|
- node.type.entite
|
||||||
|
module:
|
||||||
|
- gnode
|
||||||
|
- node
|
||||||
|
id: bourgeon-group_node-entite
|
||||||
|
group_type: bourgeon
|
||||||
|
content_plugin: 'group_node:entite'
|
||||||
|
plugin_config:
|
||||||
|
group_cardinality: 0
|
||||||
|
entity_cardinality: 1
|
||||||
|
use_creation_wizard: false
|
12
src/config/sync/group.role.bourgeon-admin_indiv.yml
Normal file
12
src/config/sync/group.role.bourgeon-admin_indiv.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
uuid: 21139a98-5b43-45a4-8c43-d9d134a6e492
|
||||||
|
langcode: fr
|
||||||
|
status: true
|
||||||
|
dependencies: { }
|
||||||
|
id: bourgeon-admin_indiv
|
||||||
|
label: admin
|
||||||
|
weight: null
|
||||||
|
admin: true
|
||||||
|
scope: individual
|
||||||
|
global_role: null
|
||||||
|
group_type: bourgeon
|
||||||
|
permissions: { }
|
@ -12,3 +12,9 @@ group_type: bourgeon
|
|||||||
permissions:
|
permissions:
|
||||||
- 'view group'
|
- 'view group'
|
||||||
- 'view group_membership relationship'
|
- 'view group_membership relationship'
|
||||||
|
- 'create group_node:concernement entity'
|
||||||
|
- 'view unpublished group_node:concernement entity'
|
||||||
|
- 'view group_node:concernement entity'
|
||||||
|
- 'create group_node:entite entity'
|
||||||
|
- 'view unpublished group_node:entite entity'
|
||||||
|
- 'access group_node overview'
|
||||||
|
20
src/config/sync/group.role.bourgeon-member_indiv.yml
Normal file
20
src/config/sync/group.role.bourgeon-member_indiv.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
uuid: d5b298ce-ff97-4b13-884d-959cff923a7a
|
||||||
|
langcode: fr
|
||||||
|
status: true
|
||||||
|
dependencies: { }
|
||||||
|
id: bourgeon-member_indiv
|
||||||
|
label: member
|
||||||
|
weight: null
|
||||||
|
admin: false
|
||||||
|
scope: individual
|
||||||
|
global_role: null
|
||||||
|
group_type: bourgeon
|
||||||
|
permissions:
|
||||||
|
- 'view group'
|
||||||
|
- 'view group_membership relationship'
|
||||||
|
- 'access group_node overview'
|
||||||
|
- 'create group_node:concernement entity'
|
||||||
|
- 'view unpublished group_node:concernement entity'
|
||||||
|
- 'view group_node:concernement entity'
|
||||||
|
- 'create group_node:entite entity'
|
||||||
|
- 'view unpublished group_node:entite entity'
|
@ -6,6 +6,6 @@ id: bourgeon
|
|||||||
label: Bourgeon
|
label: Bourgeon
|
||||||
description: ''
|
description: ''
|
||||||
new_revision: true
|
new_revision: true
|
||||||
creator_membership: true
|
creator_membership: false
|
||||||
creator_wizard: true
|
creator_wizard: false
|
||||||
creator_roles: { }
|
creator_roles: { }
|
||||||
|
@ -2,18 +2,38 @@ uuid: 0dd28526-9c5f-46ce-a40d-8889503e420b
|
|||||||
langcode: fr
|
langcode: fr
|
||||||
status: true
|
status: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
config:
|
||||||
|
- node.type.concernement
|
||||||
|
- node.type.entite
|
||||||
module:
|
module:
|
||||||
- administerusersbyrole
|
- administerusersbyrole
|
||||||
|
- node
|
||||||
- role_delegation
|
- role_delegation
|
||||||
|
- system
|
||||||
|
- toolbar
|
||||||
id: group_admin
|
id: group_admin
|
||||||
label: 'group admin'
|
label: 'group admin'
|
||||||
weight: -3
|
weight: -3
|
||||||
is_admin: null
|
is_admin: null
|
||||||
permissions:
|
permissions:
|
||||||
|
- 'access administration pages'
|
||||||
|
- 'access toolbar'
|
||||||
- 'access users overview'
|
- 'access users overview'
|
||||||
- 'assign group_member role'
|
- 'assign group_member role'
|
||||||
- 'cancel users with role group_member'
|
- 'cancel users with role group_member'
|
||||||
|
- 'create concernement content'
|
||||||
|
- 'create entite content'
|
||||||
- 'create users'
|
- 'create users'
|
||||||
|
- 'edit own concernement content'
|
||||||
|
- 'edit own entite content'
|
||||||
|
- 'edit users by role'
|
||||||
- 'edit users with role group_member'
|
- 'edit users with role group_member'
|
||||||
|
- 'revert concernement revisions'
|
||||||
|
- 'revert entite revisions'
|
||||||
- 'role-assign users with role group_member'
|
- 'role-assign users with role group_member'
|
||||||
|
- 'view concernement revisions'
|
||||||
|
- 'view entite revisions'
|
||||||
|
- 'view own unpublished content'
|
||||||
|
- 'view the administration theme'
|
||||||
|
- 'view users by role'
|
||||||
- 'view users with role group_member'
|
- 'view users with role group_member'
|
||||||
|
@ -1,9 +1,28 @@
|
|||||||
uuid: b00d65da-067b-449f-85e1-8b38ac043348
|
uuid: b00d65da-067b-449f-85e1-8b38ac043348
|
||||||
langcode: fr
|
langcode: fr
|
||||||
status: true
|
status: true
|
||||||
dependencies: { }
|
dependencies:
|
||||||
|
config:
|
||||||
|
- node.type.concernement
|
||||||
|
- node.type.entite
|
||||||
|
module:
|
||||||
|
- node
|
||||||
|
- system
|
||||||
|
- toolbar
|
||||||
id: group_member
|
id: group_member
|
||||||
label: 'group member'
|
label: 'group member'
|
||||||
weight: -2
|
weight: -2
|
||||||
is_admin: null
|
is_admin: null
|
||||||
permissions: { }
|
permissions:
|
||||||
|
- 'access administration pages'
|
||||||
|
- 'access toolbar'
|
||||||
|
- 'create concernement content'
|
||||||
|
- 'create entite content'
|
||||||
|
- 'edit own concernement content'
|
||||||
|
- 'edit own entite content'
|
||||||
|
- 'revert concernement revisions'
|
||||||
|
- 'revert entite revisions'
|
||||||
|
- 'view concernement revisions'
|
||||||
|
- 'view entite revisions'
|
||||||
|
- 'view own unpublished content'
|
||||||
|
- 'view the administration theme'
|
||||||
|
@ -55,6 +55,7 @@ type Group {
|
|||||||
description: String
|
description: String
|
||||||
owner: User
|
owner: User
|
||||||
members: [User]
|
members: [User]
|
||||||
|
concernements: [Concernement]
|
||||||
}
|
}
|
||||||
|
|
||||||
# type GroupMember {
|
# type GroupMember {
|
||||||
@ -67,6 +68,8 @@ type User {
|
|||||||
email: String
|
email: String
|
||||||
username: String
|
username: String
|
||||||
roles: [String]
|
roles: [String]
|
||||||
|
concernements: [Concernement]
|
||||||
|
groups: [Group]
|
||||||
}
|
}
|
||||||
|
|
||||||
# type Role {
|
# type Role {
|
||||||
|
@ -536,17 +536,20 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// $registry->addFieldResolver('Group', 'concernements',
|
||||||
// // GroupMembers
|
// $builder->compose(
|
||||||
// $registry->addFieldResolver('GroupMember', 'id',
|
// $builder->callback(function ($parent, $args) {
|
||||||
// $builder->produce('entity_id')
|
// $memberships = $parent->getMembers();
|
||||||
// ->map('entity', $builder->fromParent())
|
// $users = [];
|
||||||
// );
|
// foreach ($memberships as $member) {
|
||||||
|
// $users[] = $member->getUser();
|
||||||
|
// }
|
||||||
|
// return $users;
|
||||||
|
// }),
|
||||||
|
|
||||||
// $registry->addFieldResolver('GroupMember', 'user',
|
// )
|
||||||
// $builder->produce('entity_id')
|
|
||||||
// ->map('entity', $builder->fromParent())
|
|
||||||
// );
|
// );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// __ __
|
// __ __
|
||||||
@ -592,6 +595,47 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|||||||
// $builder->produce('entity_label')
|
// $builder->produce('entity_label')
|
||||||
// ->map('entity', $builder->fromParent())
|
// ->map('entity', $builder->fromParent())
|
||||||
// );
|
// );
|
||||||
|
|
||||||
|
$registry->addFieldResolver('User', 'concernements',
|
||||||
|
$builder->compose(
|
||||||
|
$builder->callback(function($parent, $arg){
|
||||||
|
$entity_storage = \Drupal::entityTypeManager()->getStorage('node');
|
||||||
|
$query = $entity_storage->getQuery()
|
||||||
|
->condition('type', ['concernement'], 'IN')
|
||||||
|
->condition('uid', $parent->id())
|
||||||
|
->accessCheck(TRUE);
|
||||||
|
$results = $query->execute();
|
||||||
|
return $results;
|
||||||
|
}),
|
||||||
|
$builder->produce('entity_load_multiple')
|
||||||
|
->map('type', $builder->fromValue('node'))
|
||||||
|
->map('ids', $builder->fromParent())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$registry->addFieldResolver('User', 'groups',
|
||||||
|
$builder->compose(
|
||||||
|
$builder->callback(function($parent, $arg){
|
||||||
|
$group_relationship_storage = \Drupal::entityTypeManager()->getStorage('group_relationship');
|
||||||
|
|
||||||
|
$query = $group_relationship_storage->getQuery()
|
||||||
|
->condition('entity_id', $parent->id())
|
||||||
|
->accessCheck(TRUE);
|
||||||
|
$group_relationship_ids = $query->execute();
|
||||||
|
|
||||||
|
$group_relationships = $group_relationship_storage->loadMultiple($group_relationship_ids);
|
||||||
|
|
||||||
|
$group_ids = [];
|
||||||
|
foreach ($group_relationships as $group_relationship) {
|
||||||
|
$group_ids[] = $group_relationship->getGroupId();
|
||||||
|
}
|
||||||
|
return $group_ids;
|
||||||
|
}),
|
||||||
|
$builder->produce('entity_load_multiple')
|
||||||
|
->map('type', $builder->fromValue('group'))
|
||||||
|
->map('ids', $builder->fromParent())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user