admin_showroom can only edit sample of his own showroom

This commit is contained in:
Bachir Soussi Chiadmi 2021-12-08 21:41:41 +01:00
parent 9cc1152f6b
commit 0335212a97
48 changed files with 603 additions and 10 deletions

View File

@ -0,0 +1 @@
devel_dumper: default

View File

@ -2,6 +2,9 @@ role_menu_pairs:
-
role: admin
menu: editors
-
role: admin_showroom
menu: editors
dependencies:
module:
- amswap

View File

@ -6,7 +6,17 @@ dependencies:
- field.storage.node.body
- node.type.materiau
module:
- allowed_formats
- text
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
allowed_formats:
wysiwyg: '0'
full_html: '0'
plain_text: '0'
id: node.materiau.body
field_name: body
entity_type: node

View File

@ -6,6 +6,14 @@ dependencies:
- field.storage.node.field_distributor
- node.type.materiau
- taxonomy.vocabulary.company
module:
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
unique_multivalue: false
unique_multivalue_text: ''
id: node.materiau.field_distributor
field_name: field_distributor
entity_type: node

View File

@ -7,6 +7,11 @@ dependencies:
- node.type.materiau
module:
- options
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
id: node.materiau.field_famille
field_name: field_famille
entity_type: node

View File

@ -5,6 +5,12 @@ dependencies:
config:
- field.storage.node.field_localisation_old
- node.type.materiau
module:
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
id: node.materiau.field_localisation_old
field_name: field_localisation_old
entity_type: node

View File

@ -6,6 +6,14 @@ dependencies:
- field.storage.node.field_manufacturer
- node.type.materiau
- taxonomy.vocabulary.company
module:
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
unique_multivalue: false
unique_multivalue_text: ''
id: node.materiau.field_manufacturer
field_name: field_manufacturer
entity_type: node

View File

@ -5,6 +5,12 @@ dependencies:
config:
- field.storage.node.field_memo
- node.type.materiau
module:
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
id: node.materiau.field_memo
field_name: field_memo
entity_type: node

View File

@ -5,6 +5,12 @@ dependencies:
config:
- field.storage.node.field_short_description
- node.type.materiau
module:
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
id: node.materiau.field_short_description
field_name: field_short_description
entity_type: node

View File

@ -6,6 +6,14 @@ dependencies:
- field.storage.node.field_tags
- node.type.materiau
- taxonomy.vocabulary.tags
module:
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
unique_multivalue: false
unique_multivalue_text: ''
id: node.materiau.field_tags
field_name: field_tags
entity_type: node

View File

@ -6,6 +6,14 @@ dependencies:
- field.storage.node.field_thesaurus
- node.type.materiau
- taxonomy.vocabulary.thesaurus
module:
- unique_content_field_validation
third_party_settings:
unique_content_field_validation:
unique: false
unique_text: ''
unique_multivalue: false
unique_multivalue_text: ''
id: node.materiau.field_thesaurus
field_name: field_thesaurus
entity_type: node

View File

@ -19,7 +19,7 @@ default_value: { }
default_value_callback: ''
settings:
allowed_providers:
youtube: youtube
vimeo: vimeo
youtube: youtube
youtube_playlist: '0'
field_type: video_embed_field

View File

@ -8,7 +8,7 @@ dependencies:
- text
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
_core:
default_config_hash: EBUo7qOWqaiZaQ_RC9sLY5IoDKphS34v77VIHSACmVY
id: node.body

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- file
- node
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_attachments
field_name: field_attachments
entity_type: node

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- node
- taxonomy
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_distributor
field_name: field_distributor
entity_type: node

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- node
- options
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_famille
field_name: field_famille
entity_type: node

View File

@ -8,7 +8,7 @@ dependencies:
- node
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
id: node.field_fiche_expo
field_name: field_fiche_expo
entity_type: node

View File

@ -4,7 +4,11 @@ status: true
dependencies:
module:
- computed_field
- field_permissions
- node
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_index
field_name: field_index
entity_type: node

View File

@ -7,7 +7,7 @@ dependencies:
- node
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
id: node.field_linked_articles
field_name: field_linked_articles
entity_type: node

View File

@ -7,7 +7,7 @@ dependencies:
- node
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
id: node.field_linked_materials
field_name: field_linked_materials
entity_type: node

View File

@ -3,7 +3,11 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- node
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_localisation_old
field_name: field_localisation_old
entity_type: node

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- node
- taxonomy
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_manufacturer
field_name: field_manufacturer
entity_type: node

View File

@ -3,9 +3,13 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- file
- image
- node
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_materiau_images
field_name: field_materiau_images
entity_type: node

View File

@ -7,7 +7,7 @@ dependencies:
- node
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
id: node.field_memo
field_name: field_memo
entity_type: node

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- node
- workflow
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_migration
field_name: field_migration
entity_type: node

View File

@ -4,7 +4,11 @@ status: true
dependencies:
module:
- computed_field
- field_permissions
- node
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_reference
field_name: field_reference
entity_type: node

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- materio_samples
- node
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_samples
field_name: field_samples
entity_type: node
@ -12,7 +16,7 @@ type: materio_samples_field
settings: { }
module: materio_samples
locked: false
cardinality: -1
cardinality: 4
translatable: true
indexes: { }
persist_with_no_fields: false

View File

@ -7,7 +7,7 @@ dependencies:
- node
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
id: node.field_short_description
field_name: field_short_description
entity_type: node

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- node
- taxonomy
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_tags
field_name: field_tags
entity_type: node

View File

@ -8,7 +8,7 @@ dependencies:
- taxonomy
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
id: node.field_thesaurus
field_name: field_thesaurus
entity_type: node

View File

@ -3,8 +3,12 @@ langcode: en
status: true
dependencies:
module:
- field_permissions
- node
- video_embed_field
third_party_settings:
field_permissions:
permission_type: custom
id: node.field_video
field_name: field_video
entity_type: node

View File

@ -8,7 +8,7 @@ dependencies:
- workflow
third_party_settings:
field_permissions:
permission_type: public
permission_type: custom
id: node.field_workflow
field_name: field_workflow
entity_type: node

View File

@ -48,6 +48,215 @@ bundles:
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: email_anonymizer
notes: ''
relationship: 0
sars_filename: ''
field_samples:
bundle: materiau
name: field_samples
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: email_anonymizer
notes: ''
relationship: 0
sars_filename: ''
field_short_description:
bundle: materiau
name: field_short_description
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: email_anonymizer
notes: ''
relationship: 0
sars_filename: ''
body:
bundle: materiau
name: body
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: email_anonymizer
notes: ''
relationship: 0
sars_filename: ''
field_attachments:
bundle: materiau
name: field_attachments
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_distributor:
bundle: materiau
name: field_distributor
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_famille:
bundle: materiau
name: field_famille
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_materiau_images:
bundle: materiau
name: field_materiau_images
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_index:
bundle: materiau
name: field_index
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_linked_articles:
bundle: materiau
name: field_linked_articles
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_linked_materials:
bundle: materiau
name: field_linked_materials
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_localisation_old:
bundle: materiau
name: field_localisation_old
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_manufacturer:
bundle: materiau
name: field_manufacturer
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_memo:
bundle: materiau
name: field_memo
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_migration:
bundle: materiau
name: field_migration
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_reference:
bundle: materiau
name: field_reference
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_tags:
bundle: materiau
name: field_tags
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_thesaurus:
bundle: materiau
name: field_thesaurus
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_video:
bundle: materiau
name: field_video
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0
sars_filename: ''
field_workflow:
bundle: materiau
name: field_workflow
entity_type_id: node
rtf: 'no'
rta: 'no'
enabled: false
anonymizer: ''
notes: ''
relationship: 0

View File

@ -20,6 +20,19 @@ permissions:
- 'update own commerce_license'
- 'update own member profile'
- 'use jsonrpc services'
- 'view body'
- 'view field_attachments'
- 'view field_distributor'
- 'view field_fiche_expo'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_reference'
- 'view field_samples'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'
- 'view own commerce_license'
- 'view own flag lists'
- 'view own member profile'

View File

@ -45,6 +45,7 @@ permissions:
- 'cancel any commerce_subscription'
- 'change own username'
- 'create article content'
- 'create body'
- 'create commerce_billing_schedule'
- 'create commerce_license'
- 'create commerce_promotion'
@ -57,10 +58,25 @@ permissions:
- 'create default workflow_transition'
- 'create enregistrement content'
- 'create evenement content'
- 'create field_attachments'
- 'create field_company'
- 'create field_distributor'
- 'create field_famille'
- 'create field_fiche_expo'
- 'create field_linked_articles'
- 'create field_linked_materials'
- 'create field_manufacturer'
- 'create field_materiau_images'
- 'create field_member_type'
- 'create field_migration'
- 'create field_samples'
- 'create field_short_description'
- 'create field_showroom'
- 'create field_showroom_files'
- 'create field_tags'
- 'create field_thesaurus'
- 'create field_video'
- 'create field_workflow'
- 'create generique workflow_transition'
- 'create materiau content'
- 'create migration workflow_transition'
@ -108,14 +124,46 @@ permissions:
- 'edit any simplenews_issue content'
- 'edit any static content'
- 'edit any thematique content'
- 'edit body'
- 'edit expo_fiches config page entity'
- 'edit field_attachments'
- 'edit field_company'
- 'edit field_distributor'
- 'edit field_famille'
- 'edit field_fiche_expo'
- 'edit field_linked_articles'
- 'edit field_linked_materials'
- 'edit field_manufacturer'
- 'edit field_materiau_images'
- 'edit field_member_type'
- 'edit field_memo'
- 'edit field_migration'
- 'edit field_samples'
- 'edit field_short_description'
- 'edit field_showroom'
- 'edit field_showroom_files'
- 'edit field_tags'
- 'edit field_thesaurus'
- 'edit field_video'
- 'edit field_workflow'
- 'edit own body'
- 'edit own enregistrement content'
- 'edit own field_attachments'
- 'edit own field_distributor'
- 'edit own field_famille'
- 'edit own field_fiche_expo'
- 'edit own field_linked_articles'
- 'edit own field_linked_materials'
- 'edit own field_manufacturer'
- 'edit own field_materiau_images'
- 'edit own field_migration'
- 'edit own field_samples'
- 'edit own field_short_description'
- 'edit own field_showroom_files'
- 'edit own field_tags'
- 'edit own field_thesaurus'
- 'edit own field_video'
- 'edit own field_workflow'
- 'edit own flag lists'
- 'edit own migration workflow_transition'
- 'edit own note content'
@ -153,6 +201,8 @@ permissions:
- 'execute workflow_node_given_state_action node'
- 'execute workflow_node_next_state_action node'
- 'flag dossier other items'
- materio_samples_edit_any_sample
- materio_samples_edit_materiaux_titles
- 'revert all revisions'
- 'revert any corpus_documents workflow_transition'
- 'revert any generique workflow_transition'
@ -212,6 +262,7 @@ permissions:
- 'view any member profile'
- 'view article revisions'
- 'view autre_son revisions'
- 'view body'
- 'view commerce_billing_schedule'
- 'view commerce_order'
- 'view commerce_promotion'
@ -219,14 +270,49 @@ permissions:
- 'view default commerce_order'
- 'view enregistrement revisions'
- 'view evenement revisions'
- 'view field_attachments'
- 'view field_company'
- 'view field_distributor'
- 'view field_famille'
- 'view field_fiche_expo'
- 'view field_index'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_localisation_old'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_member_type'
- 'view field_memo'
- 'view field_migration'
- 'view field_reference'
- 'view field_samples'
- 'view field_short_description'
- 'view field_showroom'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'
- 'view field_workflow'
- 'view frontpage revisions'
- 'view materiau revisions'
- 'view member profile'
- 'view online commerce_store'
- 'view own body'
- 'view own field_attachments'
- 'view own field_distributor'
- 'view own field_famille'
- 'view own field_fiche_expo'
- 'view own field_index'
- 'view own field_linked_articles'
- 'view own field_linked_materials'
- 'view own field_manufacturer'
- 'view own field_materiau_images'
- 'view own field_migration'
- 'view own field_samples'
- 'view own field_short_description'
- 'view own field_tags'
- 'view own field_thesaurus'
- 'view own field_video'
- 'view own field_workflow'
- 'view own flag lists'
- 'view own profile'
- 'view own unpublished content'

View File

@ -7,13 +7,35 @@ label: 'Admin Showroom'
weight: 0
is_admin: null
permissions:
- 'access administration pages'
- 'access materio search'
- 'access site in maintenance mode'
- 'access toolbar'
- 'access user profiles'
- 'add flag lists'
- 'change own username'
- 'create note content'
- 'edit any materiau content'
- 'edit field_samples'
- 'edit own flag lists'
- 'edit own note content'
- 'flag dossier other items'
- 'unflag dossier other items'
- 'use jsonrpc services'
- 'view body'
- 'view field_attachments'
- 'view field_distributor'
- 'view field_fiche_expo'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_localisation_old'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_reference'
- 'view field_samples'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'
- 'view own flag lists'
- 'view printer friendly versions'
- 'view the administration theme'

View File

@ -20,6 +20,19 @@ permissions:
- 'update own commerce_license'
- 'update own member profile'
- 'use jsonrpc services'
- 'view body'
- 'view field_attachments'
- 'view field_distributor'
- 'view field_fiche_expo'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_reference'
- 'view field_samples'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'
- 'view own commerce_license'
- 'view own flag lists'
- 'view own member profile'

View File

@ -31,6 +31,7 @@ permissions:
- 'use text format wysiwyg'
- 'view commerce_product'
- 'view expo_fiches config page entity'
- 'view field_short_description'
- 'view field_showroom_files'
- 'view materio_product_type commerce_product'
- 'view privacy_policy config page entity'

View File

@ -42,6 +42,7 @@ permissions:
- 'use text format wysiwyg'
- 'view commerce_product'
- 'view expo_fiches config page entity'
- 'view field_short_description'
- 'view field_showroom_files'
- 'view materio_product_type commerce_product'
- 'view own commerce_order'

View File

@ -11,5 +11,18 @@ permissions:
- 'display eu cookie compliance popup'
- 'update own contact_company profile'
- 'update own member profile'
- 'view body'
- 'view field_attachments'
- 'view field_distributor'
- 'view field_fiche_expo'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_reference'
- 'view field_samples'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'
- 'view own contact_company profile'
- 'view own member profile'

View File

@ -10,4 +10,5 @@ permissions:
- 'create member profile'
- 'display eu cookie compliance popup'
- 'update own member profile'
- 'view field_thesaurus'
- 'view own member profile'

View File

@ -19,6 +19,19 @@ permissions:
- 'unflag dossier other items'
- 'update own member profile'
- 'use jsonrpc services'
- 'view body'
- 'view field_attachments'
- 'view field_distributor'
- 'view field_fiche_expo'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_reference'
- 'view field_samples'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'
- 'view own flag lists'
- 'view own member profile'
- 'view printer friendly versions'

View File

@ -14,6 +14,20 @@ permissions:
- 'edit own flag lists'
- 'edit own note content'
- 'flag dossier other items'
- materio_samples_edit_materiaux_titles
- 'unflag dossier other items'
- 'view body'
- 'view field_attachments'
- 'view field_distributor'
- 'view field_fiche_expo'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_reference'
- 'view field_samples'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'
- 'view own flag lists'
- 'view printer friendly versions'

View File

@ -9,3 +9,16 @@ is_admin: null
permissions:
- 'display eu cookie compliance popup'
- 'execute materio persisted graphql requests'
- 'view body'
- 'view field_attachments'
- 'view field_distributor'
- 'view field_fiche_expo'
- 'view field_linked_articles'
- 'view field_linked_materials'
- 'view field_manufacturer'
- 'view field_materiau_images'
- 'view field_reference'
- 'view field_samples'
- 'view field_tags'
- 'view field_thesaurus'
- 'view field_video'

View File

@ -29,7 +29,9 @@ dependencies:
- taxonomy.vocabulary.tags
- taxonomy.vocabulary.thesaurus
- user.role.admin
- user.role.admin_showroom
- user.role.root
- user.role.translator
module:
- better_exposed_filters
- computed_field
@ -64,6 +66,7 @@ display:
type: role
options:
role:
translator: translator
admin: admin
root: root
cache:
@ -2297,6 +2300,7 @@ display:
row: false
filters: false
filter_groups: false
access: false
fields:
views_bulk_operations_bulk_form:
id: views_bulk_operations_bulk_form
@ -4470,6 +4474,14 @@ display:
operator: AND
groups:
1: AND
access:
type: role
options:
role:
translator: translator
admin_showroom: admin_showroom
admin: admin
root: root
cache_metadata:
max-age: 0
contexts:
@ -4712,6 +4724,7 @@ display:
filter_groups: false
style: false
row: false
access: false
fields:
views_bulk_operations_bulk_form:
id: views_bulk_operations_bulk_form
@ -6054,6 +6067,13 @@ display:
row:
type: fields
options: { }
access:
type: role
options:
role:
translator: translator
admin: admin
root: root
cache_metadata:
max-age: 0
contexts:
@ -6290,6 +6310,7 @@ display:
row: false
filters: false
filter_groups: false
access: false
fields:
views_bulk_operations_bulk_form:
id: views_bulk_operations_bulk_form
@ -7621,6 +7642,13 @@ display:
operator: AND
groups:
1: AND
access:
type: role
options:
role:
translator: translator
admin: admin
root: root
cache_metadata:
max-age: 0
contexts:

View File

@ -0,0 +1,20 @@
<?php
/**
* @file
* Contains materio_sapi.module.
*/
use Drupal\Core\Routing\RouteMatchInterface;
use Solarium\QueryType\Select\Query\Query;
use Drupal\search_api\Query\QueryInterface;
use Drupal\Core\Template\Attribute;
function materio_samples_form_node_materiau_edit_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id){
// get current user
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
if(!$user->hasPermission('materio_samples_edit_materiaux_titles')){
$form['title']['#access'] = false;
}
}

View File

@ -0,0 +1,9 @@
materio_samples_edit_materiaux_titles:
title: 'Edit titles of content type materiau'
description: 'Edit titles of content type materiau'
restrict access: true
materio_samples_edit_any_sample:
title: 'Edit any sample'
description: 'Edit any sample'
restrict access: true

View File

@ -98,6 +98,25 @@ class SamplesDefaultWidget extends WidgetBase {
// '#field_prefix' => '<div class="container-inline">',
// '#field_suffix' => '</div>',
// ];
$disabled = true;
// get current user
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
if($user->hasPermission('materio_samples_edit_any_sample')){
// check perms to edit any
$disabled = false;
}else if($disabled){
// get user showroom if any
$showrooms = $user->get('field_showroom')->referencedEntities();
// enable/disable field reagarding showroom
foreach($showrooms as $showroom){
if($term->id() == $showroom->id()){
$disabled = false;
break;
}
}
}
$element['target_id'] = [
'#type' => 'hidden',
'#default_value' => $target_id,
@ -109,6 +128,7 @@ class SamplesDefaultWidget extends WidgetBase {
'#size' => 10,
'#maxlength' => 15,
'#attributes' => ['class' => ['container-inline']],
'#disabled' => $disabled,
];
// return ['value' => $element];
return $element;