editor role, admin menu, operations admin page

This commit is contained in:
2023-11-27 15:56:03 +01:00
parent d6bd976a4c
commit 9389dcfd9c
15 changed files with 1037 additions and 56 deletions
+1
View File
@@ -18,6 +18,7 @@
"composer/installers": "^2.0",
"drupal/address": "^1.12",
"drupal/advanced_email_validation": "^1.1",
"drupal/amswap": "^3.2",
"drupal/config_pages": "^2.15",
"drupal/content_as_config": "^1.0",
"drupal/core-composer-scaffold": "^10.1",
Generated
+53 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "ae52207c0580112eec7a01ad7b214aeb",
"content-hash": "f3783bee40de6bd346f434abe5d4872b",
"packages": [
{
"name": "asm89/stack-cors",
@@ -1947,6 +1947,58 @@
"source": "https://git.drupalcode.org/project/advanced_text_formatter"
}
},
{
"name": "drupal/amswap",
"version": "3.2.1",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/amswap.git",
"reference": "3.2.1"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/amswap-3.2.1.zip",
"reference": "3.2.1",
"shasum": "6fdfb96eb3a000d6b01e9d72071ad736f2e81889"
},
"require": {
"drupal/core": "^8 || ^9 || ^10"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "3.2.1",
"datestamp": "1680451461",
"security-coverage": {
"status": "not-covered",
"message": "Project has not opted into security advisory coverage!"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "cedewey",
"homepage": "https://www.drupal.org/user/38694"
},
{
"name": "droces",
"homepage": "https://www.drupal.org/user/2996575"
}
],
"description": "Allows the administration menu to be customised per user role.",
"homepage": "https://www.drupal.org/project/amswap",
"keywords": [
"Drupal"
],
"support": {
"source": "http://cgit.drupalcode.org/amswap",
"issues": "https://www.drupal.org/project/issues/amswap"
}
},
{
"name": "drupal/audiofield",
"version": "1.13.0",
+7
View File
@@ -0,0 +1,7 @@
_core:
default_config_hash: vaRIb4e_4378IzQXF4dy-aSEAZ4O3D9iC7LW89rHPSw
langcode: fr
role_menu_pairs:
-
role: editor
menu: editor
@@ -34,3 +34,93 @@
expanded: '0'
weight: '0'
langcode: fr
39762042-305d-41ee-9024-f357eb247b35:
uuid: 39762042-305d-41ee-9024-f357eb247b35
menu_name: editor
title: Content
parent: ''
link:
-
uri: 'internal:/admin/content'
title: ''
options:
attributes:
class:
- ''
description: ''
enabled: '1'
expanded: '0'
weight: '0'
langcode: fr
37a113fe-1380-413e-a3f6-c7dc32f9e34d:
uuid: 37a113fe-1380-413e-a3f6-c7dc32f9e34d
menu_name: editor
title: Contacts
parent: 'menu_link_content:39762042-305d-41ee-9024-f357eb247b35'
link:
-
uri: 'internal:/edit/contacts'
title: ''
options:
attributes:
class:
- ''
description: ''
enabled: '1'
expanded: '0'
weight: '-50'
langcode: fr
7ef5d280-649a-4fc8-b236-72b990a5eb96:
uuid: 7ef5d280-649a-4fc8-b236-72b990a5eb96
menu_name: editor
title: 'Mentions légales'
parent: 'menu_link_content:39762042-305d-41ee-9024-f357eb247b35'
link:
-
uri: 'internal:/edit/mentions_legales'
title: ''
options:
attributes:
class:
- ''
description: ''
enabled: '1'
expanded: '0'
weight: '-49'
langcode: fr
fcd1be17-0d1d-4c68-b59d-14b81d984c38:
uuid: fcd1be17-0d1d-4c68-b59d-14b81d984c38
menu_name: editor
title: Partenaires
parent: 'menu_link_content:39762042-305d-41ee-9024-f357eb247b35'
link:
-
uri: 'internal:/edit/partenaires'
title: ''
options:
attributes:
class:
- ''
description: ''
enabled: '1'
expanded: '0'
weight: '-48'
langcode: fr
bf5bcb0d-04a1-44b1-87ed-52d097dd542e:
uuid: bf5bcb0d-04a1-44b1-87ed-52d097dd542e
menu_name: editor
title: Opérations
parent: ''
link:
-
uri: 'internal:/admin/content/operations'
title: ''
options:
attributes:
class:
- ''
description: ''
enabled: '1'
expanded: '0'
weight: '1'
langcode: fr
@@ -0,0 +1,54 @@
uuid: b388162a-cc39-4bc2-a741-db925dbd3413
langcode: fr
status: true
dependencies:
config:
- core.entity_view_mode.node.compact
- field.field.node.operation.field_adresse
- field.field.node.operation.field_commentaire
- field.field.node.operation.field_dossier_de_candidature
- field.field.node.operation.field_fiche_candidature
- node.type.operation
module:
- address
- file
- user
id: node.operation.compact
targetEntityType: node
bundle: operation
mode: compact
content:
field_adresse:
type: address_plain
label: inline
settings: { }
third_party_settings: { }
weight: 0
region: content
field_commentaire:
type: basic_string
label: inline
settings: { }
third_party_settings: { }
weight: 1
region: content
field_dossier_de_candidature:
type: file_default
label: inline
settings:
use_description_as_link_text: true
third_party_settings: { }
weight: 3
region: content
field_fiche_candidature:
type: file_default
label: inline
settings:
use_description_as_link_text: true
third_party_settings: { }
weight: 2
region: content
hidden:
langcode: true
links: true
search_api_excerpt: true
@@ -0,0 +1,63 @@
uuid: 8bb92d73-25a6-4d50-a74b-c877ede470a3
langcode: fr
status: true
dependencies:
config:
- core.entity_view_mode.user.compact
- field.field.user.user.field_nom
- field.field.user.user.field_prenom
- field.field.user.user.field_qualite
- field.field.user.user.field_structure
- field.field.user.user.field_telephone
module:
- phone_number
- user
id: user.user.compact
targetEntityType: user
bundle: user
mode: compact
content:
field_nom:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 0
region: content
field_prenom:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 1
region: content
field_qualite:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 3
region: content
field_structure:
type: string
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 2
region: content
field_telephone:
type: phone_number_international
label: inline
settings:
as_link: false
third_party_settings: { }
weight: 4
region: content
hidden:
langcode: true
member_for: true
search_api_excerpt: true
@@ -0,0 +1,10 @@
uuid: 23287fac-c816-4dd3-a923-8a381e9a1b04
langcode: fr
status: true
dependencies:
module:
- node
id: node.compact
label: compact
targetEntityType: node
cache: true
+1
View File
@@ -9,6 +9,7 @@ module:
admin_toolbar_links_access_filter: 0
advanced_email_validation: 0
advanced_text_formatter: 0
amswap: 0
audiofield: 0
autocomplete_deluxe: 0
ban: 0
@@ -12,5 +12,6 @@ pages: ''
language: ''
roles:
admin: admin
editor: editor
weight: 0
enabled: true
@@ -0,0 +1,14 @@
uuid: 79d2557b-97e7-4ed1-9b7a-f5ce13cec0ec
langcode: fr
status: true
dependencies:
config:
- user.role.editor
module:
- user
id: user_add_role_action.editor
label: 'Ajouter le rôle Editor aux utilisateurs sélectionnés'
type: user
plugin: user_add_role_action
configuration:
rid: editor
@@ -0,0 +1,14 @@
uuid: 51db5825-bd3a-4da6-ab36-89480b1bc452
langcode: fr
status: true
dependencies:
config:
- user.role.editor
module:
- user
id: user_remove_role_action.editor
label: 'Enlever le rôle Editor des utilisateurs sélectionnés'
type: user
plugin: user_remove_role_action
configuration:
rid: editor
+8
View File
@@ -0,0 +1,8 @@
uuid: d6e12375-dec3-43ab-928a-6065316a4c56
langcode: fr
status: true
dependencies: { }
id: editor
label: Editor
description: ''
locked: false
+6
View File
@@ -3,6 +3,7 @@ langcode: fr
status: true
dependencies:
config:
- filter.format.wysiwyg
- node.type.operation
- node.type.static
module:
@@ -11,6 +12,7 @@ dependencies:
- content_lock
- content_translation
- file
- filter
- menu_admin_per_menu
- node
- system
@@ -36,6 +38,9 @@ permissions:
- 'edit contact config page entity'
- 'edit mentions_legales config page entity'
- 'edit partenaires config page entity'
- 'execute entity:break_lock config_pages'
- 'execute entity:break_lock node'
- 'execute entity:save_action config_pages'
- 'execute entity:save_action menu_link_content'
- 'execute entity:save_action node'
- 'execute entity:save_action taxonomy_term'
@@ -51,6 +56,7 @@ permissions:
- 'execute views_bulk_edit all'
- 'revert static revisions'
- 'update content translations'
- 'use text format wysiwyg'
- 'view config_pages entity'
- 'view static revisions'
- 'view the administration theme'
+38
View File
@@ -0,0 +1,38 @@
uuid: 757c78f0-42aa-46aa-89b4-2223779b4ec6
langcode: fr
status: true
dependencies:
config:
- filter.format.wysiwyg
- node.type.static
module:
- actions_permissions
- config_pages
- content_lock
- filter
- node
- system
- toolbar
id: editor
label: Editor
weight: -5
is_admin: null
permissions:
- 'access administration pages'
- 'access content overview'
- 'access toolbar'
- 'access user profiles'
- 'break content lock'
- 'edit any static content'
- 'edit contact config page entity'
- 'edit mentions_legales config page entity'
- 'edit partenaires config page entity'
- 'execute entity:break_lock config_pages'
- 'execute entity:break_lock node'
- 'execute entity:save_action config_pages'
- 'execute entity:save_action node'
- 'revert static revisions'
- 'use text format wysiwyg'
- 'view static revisions'
- 'view the administration theme'
- 'view user email addresses'
+677 -55
View File
@@ -2,6 +2,11 @@ uuid: 2f76fc00-0304-4292-98e3-517f8bfba3fe
langcode: fr
status: true
dependencies:
config:
- core.entity_view_mode.node.compact
- core.entity_view_mode.user.compact
- node.type.operation
- node.type.static
module:
- node
- user
@@ -335,9 +340,10 @@ display:
entity_field: type
plugin_id: bundle
operator: in
value: { }
value:
static: static
group: 1
exposed: true
exposed: false
expose:
operator_id: type_op
label: 'Type de contenu'
@@ -481,46 +487,36 @@ display:
row_class: ''
default_row_class: true
columns:
node_bulk_form: node_bulk_form
title: title
type: type
name: name
status: status
mail: title
rendered_entity: rendered_entity
rendered_entity_1: rendered_entity_1
changed: changed
edit_node: edit_node
delete_node: delete_node
dropbutton: dropbutton
timestamp: title
default: changed
info:
node_bulk_form:
align: ''
separator: ''
empty_column: false
responsive: ''
title:
sortable: true
default_sort_order: asc
align: ''
separator: ''
separator: '<br>'
empty_column: false
responsive: ''
type:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
name:
mail:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: priority-low
status:
sortable: true
responsive: ''
rendered_entity:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
rendered_entity_1:
sortable: false
default_sort_order: asc
align: ''
separator: ''
@@ -533,34 +529,6 @@ display:
separator: ''
empty_column: false
responsive: priority-low
edit_node:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
delete_node:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
dropbutton:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
timestamp:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
override: true
sticky: true
summary: ''
@@ -598,6 +566,160 @@ display:
display_plugin: page
position: 1
display_options:
filters:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: title_op
label: Titre
description: ''
use_operator: false
operator: title_op
operator_limit_selection: false
operator_list: { }
identifier: title
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
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:
id: type
table: node_field_data
field: type
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: type
plugin_id: bundle
operator: in
value:
static: static
group: 1
exposed: false
expose:
operator_id: type_op
label: 'Type de contenu'
description: ''
use_operator: false
operator: type_op
operator_limit_selection: false
operator_list: { }
identifier: type
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
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: { }
status:
id: status
table: node_field_data
field: status
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: status
plugin_id: boolean
operator: '='
value: '1'
group: 1
exposed: true
expose:
operator_id: ''
label: État
description: ''
use_operator: false
operator: status_op
operator_limit_selection: false
operator_list: { }
identifier: status
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
is_grouped: true
group_info:
label: 'Statut de publication'
description: ''
identifier: status
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items:
1:
title: Publié
operator: '='
value: '1'
2:
title: 'Non publié'
operator: '='
value: '0'
status_extra:
id: status_extra
table: node_field_data
field: status_extra
entity_type: node
plugin_id: node_status
operator: '='
value: false
group: 1
expose:
operator_limit_selection: false
operator_list: { }
filter_groups:
operator: AND
groups:
1: AND
defaults:
filters: false
filter_groups: false
display_extenders: { }
path: admin/content/node
menu:
@@ -624,3 +746,503 @@ display:
- 'user.node_grants:view'
- user.permissions
tags: { }
page_2:
id: page_2
display_title: Operations
display_plugin: page
position: 1
display_options:
title: Opérations
fields:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: field
label: Titre
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: false
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
mail:
id: mail
table: users_field_data
field: mail
relationship: uid
group_type: group
admin_label: ''
entity_type: user
entity_field: mail
plugin_id: field
label: Courriel
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: email_mailto
settings: { }
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
rendered_entity:
id: rendered_entity
table: users
field: rendered_entity
relationship: uid
group_type: group
admin_label: ''
entity_type: user
plugin_id: rendered_entity
label: Autheur
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
view_mode: compact
rendered_entity_1:
id: rendered_entity_1
table: node
field: rendered_entity
relationship: none
group_type: group
admin_label: ''
entity_type: node
plugin_id: rendered_entity
label: 'Entité rendue'
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
view_mode: compact
filters:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: title_op
label: Titre
description: ''
use_operator: false
operator: title_op
operator_limit_selection: false
operator_list: { }
identifier: title
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
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:
id: type
table: node_field_data
field: type
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: type
plugin_id: bundle
operator: in
value:
operation: operation
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: { }
mail:
id: mail
table: users_field_data
field: mail
relationship: uid
group_type: group
admin_label: ''
entity_type: user
entity_field: mail
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: mail_op
label: Courriel
description: ''
use_operator: false
operator: mail_op
operator_limit_selection: false
operator_list: { }
identifier: mail
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
editor: '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: { }
field_adresse_locality:
id: field_adresse_locality
table: node__field_adresse
field: field_adresse_locality
relationship: none
group_type: group
admin_label: ''
plugin_id: string
operator: contains
value: ''
group: 1
exposed: true
expose:
operator_id: field_adresse_locality_op
label: Ville
description: ''
use_operator: false
operator: field_adresse_locality_op
operator_limit_selection: false
operator_list: { }
identifier: field_adresse_locality
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
editor: '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: { }
field_adresse_postal_code:
id: field_adresse_postal_code
table: node__field_adresse
field: field_adresse_postal_code
relationship: none
group_type: group
admin_label: ''
plugin_id: string
operator: '='
value: ''
group: 1
exposed: true
expose:
operator_id: field_adresse_postal_code_op
label: 'Code postal'
description: ''
use_operator: false
operator: field_adresse_postal_code_op
operator_limit_selection: false
operator_list: { }
identifier: field_adresse_postal_code
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
admin: '0'
root: '0'
editor: '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: { }
filter_groups:
operator: AND
groups:
1: AND
defaults:
title: false
fields: false
filters: false
filter_groups: false
display_description: ''
display_extenders: { }
path: admin/content/operations
menu:
type: tab
title: Opérations
description: ''
weight: -10
expanded: false
menu_name: editor
parent: 'menu_link_content:39762042-305d-41ee-9024-f357eb247b35'
context: '0'
tab_options:
type: normal
title: Contenu
description: 'Trouver et gérer le contenu'
weight: -10
menu_name: admin
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- 'user.node_grants:view'
- user.permissions
tags:
- 'config:core.entity_view_display.node.operation.compact'
- 'config:core.entity_view_display.node.operation.default'
- 'config:core.entity_view_display.node.operation.teaser'
- 'config:core.entity_view_display.node.static.content_no_title'
- 'config:core.entity_view_display.node.static.default'
- 'config:core.entity_view_display.node.static.teaser'
- 'config:core.entity_view_display.user.user.compact'
- 'config:core.entity_view_display.user.user.default'