diff --git a/sites/all/modules/figli/edlp_studio/chutier.page.inc b/sites/all/modules/figli/edlp_studio/chutier.page.inc new file mode 100644 index 000000000..2dda2ad31 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/chutier.page.inc @@ -0,0 +1,30 @@ +' . t('About') . ''; + $output .= '

' . t('Edlp module that handle chutier and fils entities') . '

'; + return $output; + + default: + } +} diff --git a/sites/all/modules/figli/edlp_studio/edlp_studio.permissions.yml b/sites/all/modules/figli/edlp_studio/edlp_studio.permissions.yml new file mode 100644 index 000000000..93dbdf377 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/edlp_studio.permissions.yml @@ -0,0 +1,62 @@ +administer studio: + title: 'Administer studio' + +# Chutiers +add chutier entities: + title: 'Create new Chutier entities' + +administer chutier entities: + title: 'Administer Chutier entities' + description: 'Allow to access the administration form to configure Chutier entities.' + restrict access: true + +delete any chutier entities: + title: 'Delete any Chutier entities' + +edit any chutier entities: + title: 'Edit any Chutier entities' + +delete own chutier entities: + title: 'Delete own Chutier entities' + +edit own chutier entities: + title: 'Edit own Chutier entities' + +view published chutier entities: + title: 'View published Chutier entities' + +view any unpublished chutier entities: + title: 'View any unpublished Chutier entities' + +view own unpublished chutier entities: + title: 'View own unpublished Chutier entities' + +# Fils +add fil entities: + title: 'Create new Fil entities' + +administer fil entities: + title: 'Administer Fil entities' + description: 'Allow to access the administration form to configure Fil entities.' + restrict access: true + +delete any fil entities: + title: 'Delete any Fil entities' + +edit any fil entities: + title: 'Edit any Fil entities' + +delete own fil entities: + title: 'Delete own Fil entities' + +edit own fil entities: + title: 'Edit own Fil entities' + +view published fil entities: + title: 'View published Fil entities' + +view any unpublished fil entities: + title: 'View any unpublished Fil entities' + +view own unpublished fil entities: + title: 'View own unpublished Fil entities' diff --git a/sites/all/modules/figli/edlp_studio/edlp_studio.routing.yml b/sites/all/modules/figli/edlp_studio/edlp_studio.routing.yml new file mode 100644 index 000000000..5ec1eae7c --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/edlp_studio.routing.yml @@ -0,0 +1,7 @@ +edlp_studio.studio: + path: '/admin/structure/studio' + defaults: + _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage' + _title: 'Studio' + requirements: + _permission: 'administer studio' diff --git a/sites/all/modules/figli/edlp_studio/fil.page.inc b/sites/all/modules/figli/edlp_studio/fil.page.inc new file mode 100644 index 000000000..2c134e62a --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/fil.page.inc @@ -0,0 +1,30 @@ +isPublished()) { + if($account->hasPermission('view own unpublished chutier entities') && $account->isAuthenticated() && $account->id() == $entity->getOwnerId() ){ + return AccessResult::allowed()->cachePerPermissions()->cachePerUser()->addCacheableDependency($entity); + }else{ + return AccessResult::allowedIfHasPermission($account, 'view any unpublished chutier entities'); + } + } + return AccessResult::allowedIfHasPermission($account, 'view published chutier entities'); + + case 'update': + if($account->hasPermission('edit own chutier entities') && $account->isAuthenticated() && $account->id() == $entity->getOwnerId() ){ + return AccessResult::allowed()->cachePerPermissions()->cachePerUser()->addCacheableDependency($entity); + }else{ + return AccessResult::allowedIfHasPermission($account, 'edit any chutier entities'); + } + + case 'delete': + if($account->hasPermission('delete own chutier entities') && $account->isAuthenticated() && $account->id() == $entity->getOwnerId() ){ + return AccessResult::allowed()->cachePerPermissions()->cachePerUser()->addCacheableDependency($entity); + }else{ + return AccessResult::allowedIfHasPermission($account, 'delete chutier entities'); + } + } + + // Unknown operation, no opinion. + return AccessResult::neutral(); + } + + /** + * {@inheritdoc} + */ + protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) { + return AccessResult::allowedIfHasPermission($account, 'add chutier entities'); + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/ChutierHtmlRouteProvider.php b/sites/all/modules/figli/edlp_studio/src/ChutierHtmlRouteProvider.php new file mode 100644 index 000000000..398ddf3f5 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/ChutierHtmlRouteProvider.php @@ -0,0 +1,56 @@ +id(); + + if ($settings_form_route = $this->getSettingsFormRoute($entity_type)) { + $collection->add("$entity_type_id.settings", $settings_form_route); + } + + return $collection; + } + + /** + * Gets the settings form route. + * + * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type + * The entity type. + * + * @return \Symfony\Component\Routing\Route|null + * The generated route, if available. + */ + protected function getSettingsFormRoute(EntityTypeInterface $entity_type) { + if (!$entity_type->getBundleEntityType()) { + $route = new Route("/admin/structure/{$entity_type->id()}/settings"); + $route + ->setDefaults([ + '_form' => 'Drupal\edlp_studio\Form\ChutierSettingsForm', + '_title' => "{$entity_type->getLabel()} settings", + ]) + ->setRequirement('_permission', $entity_type->getAdminPermission()) + ->setOption('_admin_route', TRUE); + + return $route; + } + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/ChutierListBuilder.php b/sites/all/modules/figli/edlp_studio/src/ChutierListBuilder.php new file mode 100644 index 000000000..c1082379e --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/ChutierListBuilder.php @@ -0,0 +1,40 @@ +t('Chutier ID'); + $header['name'] = $this->t('Name'); + return $header + parent::buildHeader(); + } + + /** + * {@inheritdoc} + */ + public function buildRow(EntityInterface $entity) { + /* @var $entity \Drupal\edlp_studio\Entity\Chutier */ + $row['id'] = $entity->id(); + $row['name'] = Link::createFromRoute( + $entity->label(), + 'entity.chutier.edit_form', + ['chutier' => $entity->id()] + ); + return $row + parent::buildRow($entity); + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/Entity/Chutier.php b/sites/all/modules/figli/edlp_studio/src/Entity/Chutier.php new file mode 100644 index 000000000..828f7fb70 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/Entity/Chutier.php @@ -0,0 +1,242 @@ + \Drupal::currentUser()->id(), + ]; + } + + /** + * {@inheritdoc} + */ + public function getName() { + return $this->get('name')->value; + } + + /** + * {@inheritdoc} + */ + public function setName($name) { + $this->set('name', $name); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getCreatedTime() { + return $this->get('created')->value; + } + + /** + * {@inheritdoc} + */ + public function setCreatedTime($timestamp) { + $this->set('created', $timestamp); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getOwner() { + return $this->get('user_id')->entity; + } + + /** + * {@inheritdoc} + */ + public function getOwnerId() { + return $this->get('user_id')->target_id; + } + + /** + * {@inheritdoc} + */ + public function setOwnerId($uid) { + $this->set('user_id', $uid); + return $this; + } + + /** + * {@inheritdoc} + */ + public function setOwner(UserInterface $account) { + $this->set('user_id', $account->id()); + return $this; + } + + /** + * {@inheritdoc} + */ + public function isPublished() { + return (bool) $this->getEntityKey('status'); + } + + /** + * {@inheritdoc} + */ + public function setPublished($published) { + $this->set('status', $published ? TRUE : FALSE); + return $this; + } + + /** + * {@inheritdoc} + */ + public static function baseFieldDefinitions(EntityTypeInterface $entity_type) { + $fields = parent::baseFieldDefinitions($entity_type); + + $fields['user_id'] = BaseFieldDefinition::create('entity_reference') + ->setLabel(t('Authored by')) + ->setDescription(t('The user ID of author of the Chutier entity.')) + ->setRevisionable(TRUE) + ->setSetting('target_type', 'user') + ->setSetting('handler', 'default') + ->setTranslatable(TRUE) + ->setDisplayOptions('view', [ + 'label' => 'hidden', + 'type' => 'author', + 'weight' => 0, + ]) + ->setDisplayOptions('form', [ + 'type' => 'entity_reference_autocomplete', + 'weight' => 5, + 'settings' => [ + 'match_operator' => 'CONTAINS', + 'size' => '60', + 'autocomplete_type' => 'tags', + 'placeholder' => '', + ], + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + $fields['name'] = BaseFieldDefinition::create('string') + ->setLabel(t('Name')) + ->setDescription(t('The name of the Chutier entity.')) + ->setSettings([ + 'max_length' => 50, + 'text_processing' => 0, + ]) + ->setDefaultValue('') + ->setDisplayOptions('view', [ + 'label' => 'above', + 'type' => 'string', + 'weight' => -4, + ]) + ->setDisplayOptions('form', [ + 'type' => 'string_textfield', + 'weight' => -4, + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE) + ->setRequired(TRUE); + + $fields['status'] = BaseFieldDefinition::create('boolean') + ->setLabel(t('Publishing status')) + ->setDescription(t('A boolean indicating whether the Chutier is published.')) + ->setDefaultValue(TRUE) + ->setDisplayOptions('form', [ + 'type' => 'boolean_checkbox', + 'weight' => -3, + ]); + + $fields['created'] = BaseFieldDefinition::create('created') + ->setLabel(t('Created')) + ->setDescription(t('The time that the entity was created.')); + + $fields['changed'] = BaseFieldDefinition::create('changed') + ->setLabel(t('Changed')) + ->setDescription(t('The time that the entity was last edited.')); + + $fields['documents'] = BaseFieldDefinition::create('entity_reference') + ->setLabel(t('Documents')) + ->setDescription(t('Documents from collection.')) + ->setSetting('target_type', 'node') + ->setSetting('handler', 'default') + ->setSetting('handler_settings',['target_bundles'=>['enregistrement'=>'enregistrement']] ) + ->setCardinality(BaseFieldDefinition::CARDINALITY_UNLIMITED) + ->setDisplayOptions('view', array( + 'label' => 'hidden', + 'type' => 'enregistrement', + 'weight' => 0, + )) + ->setDisplayOptions('form', array( + 'type' => 'entity_reference_autocomplete', + 'weight' => 5, + 'settings' => array( + 'match_operator' => 'CONTAINS', + 'size' => '60', + 'autocomplete_type' => 'tags', + 'placeholder' => '', + ), + )) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + return $fields; + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/Entity/ChutierInterface.php b/sites/all/modules/figli/edlp_studio/src/Entity/ChutierInterface.php new file mode 100644 index 000000000..d67dbac92 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/Entity/ChutierInterface.php @@ -0,0 +1,77 @@ + \Drupal::currentUser()->id(), + ]; + } + + /** + * {@inheritdoc} + */ + public function getName() { + return $this->get('name')->value; + } + + /** + * {@inheritdoc} + */ + public function setName($name) { + $this->set('name', $name); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getCreatedTime() { + return $this->get('created')->value; + } + + /** + * {@inheritdoc} + */ + public function setCreatedTime($timestamp) { + $this->set('created', $timestamp); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getOwner() { + return $this->get('user_id')->entity; + } + + /** + * {@inheritdoc} + */ + public function getOwnerId() { + return $this->get('user_id')->target_id; + } + + /** + * {@inheritdoc} + */ + public function setOwnerId($uid) { + $this->set('user_id', $uid); + return $this; + } + + /** + * {@inheritdoc} + */ + public function setOwner(UserInterface $account) { + $this->set('user_id', $account->id()); + return $this; + } + + /** + * {@inheritdoc} + */ + public function isPublished() { + return (bool) $this->getEntityKey('status'); + } + + /** + * {@inheritdoc} + */ + public function setPublished($published) { + $this->set('status', $published ? TRUE : FALSE); + return $this; + } + + /** + * {@inheritdoc} + */ + public static function baseFieldDefinitions(EntityTypeInterface $entity_type) { + $fields = parent::baseFieldDefinitions($entity_type); + + $fields['user_id'] = BaseFieldDefinition::create('entity_reference') + ->setLabel(t('Authored by')) + ->setDescription(t('The user ID of author of the Fil entity.')) + ->setRevisionable(TRUE) + ->setSetting('target_type', 'user') + ->setSetting('handler', 'default') + ->setTranslatable(TRUE) + ->setDisplayOptions('view', [ + 'label' => 'hidden', + 'type' => 'author', + 'weight' => 0, + ]) + ->setDisplayOptions('form', [ + 'type' => 'entity_reference_autocomplete', + 'weight' => 5, + 'settings' => [ + 'match_operator' => 'CONTAINS', + 'size' => '60', + 'autocomplete_type' => 'tags', + 'placeholder' => '', + ], + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + $fields['name'] = BaseFieldDefinition::create('string') + ->setLabel(t('Name')) + ->setDescription(t('The name of the Fil entity.')) + ->setSettings([ + 'max_length' => 50, + 'text_processing' => 0, + ]) + ->setDefaultValue('') + ->setDisplayOptions('view', [ + 'label' => 'above', + 'type' => 'string', + 'weight' => -4, + ]) + ->setDisplayOptions('form', [ + 'type' => 'string_textfield', + 'weight' => -4, + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE) + ->setRequired(TRUE); + + $fields['status'] = BaseFieldDefinition::create('boolean') + ->setLabel(t('Publishing status')) + ->setDescription(t('A boolean indicating whether the Fil is published.')) + ->setDefaultValue(TRUE) + ->setDisplayOptions('form', [ + 'type' => 'boolean_checkbox', + 'weight' => -3, + ]); + + $fields['created'] = BaseFieldDefinition::create('created') + ->setLabel(t('Created')) + ->setDescription(t('The time that the entity was created.')); + + $fields['changed'] = BaseFieldDefinition::create('changed') + ->setLabel(t('Changed')) + ->setDescription(t('The time that the entity was last edited.')); + + $fields['documents'] = BaseFieldDefinition::create('entity_reference') + ->setLabel(t('Documents')) + ->setDescription(t('Documents from collection.')) + ->setSetting('target_type', 'node') + ->setSetting('handler', 'default') + ->setSetting('handler_settings',['target_bundles'=>['enregistrement'=>'enregistrement']] ) + ->setCardinality(BaseFieldDefinition::CARDINALITY_UNLIMITED) + ->setDisplayOptions('view', array( + 'label' => 'hidden', + 'type' => 'enregistrement', + 'weight' => 0, + )) + ->setDisplayOptions('form', array( + 'type' => 'entity_reference_autocomplete', + 'weight' => 5, + 'settings' => array( + 'match_operator' => 'CONTAINS', + 'size' => '60', + 'autocomplete_type' => 'tags', + 'placeholder' => '', + ), + )) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + + return $fields; + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/Entity/FilInterface.php b/sites/all/modules/figli/edlp_studio/src/Entity/FilInterface.php new file mode 100644 index 000000000..922f9f9c1 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/Entity/FilInterface.php @@ -0,0 +1,77 @@ +isPublished()) { + if($account->hasPermission('view own unpublished fil entities') && $account->isAuthenticated() && $account->id() == $entity->getOwnerId() ){ + return AccessResult::allowed()->cachePerPermissions()->cachePerUser()->addCacheableDependency($entity); + }else{ + return AccessResult::allowedIfHasPermission($account, 'view any unpublished fil entities'); + } + } + return AccessResult::allowedIfHasPermission($account, 'view published fil entities'); + + case 'update': + if($account->hasPermission('edit own fil entities') && $account->isAuthenticated() && $account->id() == $entity->getOwnerId() ){ + return AccessResult::allowed()->cachePerPermissions()->cachePerUser()->addCacheableDependency($entity); + }else{ + return AccessResult::allowedIfHasPermission($account, 'edit any fil entities'); + } + + case 'delete': + if($account->hasPermission('delete own fil entities') && $account->isAuthenticated() && $account->id() == $entity->getOwnerId() ){ + return AccessResult::allowed()->cachePerPermissions()->cachePerUser()->addCacheableDependency($entity); + }else{ + return AccessResult::allowedIfHasPermission($account, 'delete fil entities'); + } + } + + // Unknown operation, no opinion. + return AccessResult::neutral(); + } + + /** + * {@inheritdoc} + */ + protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) { + return AccessResult::allowedIfHasPermission($account, 'add fil entities'); + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/FilHtmlRouteProvider.php b/sites/all/modules/figli/edlp_studio/src/FilHtmlRouteProvider.php new file mode 100644 index 000000000..9084e8edd --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/FilHtmlRouteProvider.php @@ -0,0 +1,56 @@ +id(); + + if ($settings_form_route = $this->getSettingsFormRoute($entity_type)) { + $collection->add("$entity_type_id.settings", $settings_form_route); + } + + return $collection; + } + + /** + * Gets the settings form route. + * + * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type + * The entity type. + * + * @return \Symfony\Component\Routing\Route|null + * The generated route, if available. + */ + protected function getSettingsFormRoute(EntityTypeInterface $entity_type) { + if (!$entity_type->getBundleEntityType()) { + $route = new Route("/admin/structure/studio/{$entity_type->id()}/settings"); + $route + ->setDefaults([ + '_form' => 'Drupal\edlp_studio\Form\FilSettingsForm', + '_title' => "{$entity_type->getLabel()} settings", + ]) + ->setRequirement('_permission', $entity_type->getAdminPermission()) + ->setOption('_admin_route', TRUE); + + return $route; + } + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/FilListBuilder.php b/sites/all/modules/figli/edlp_studio/src/FilListBuilder.php new file mode 100644 index 000000000..1c084046c --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/FilListBuilder.php @@ -0,0 +1,40 @@ +t('Fil ID'); + $header['name'] = $this->t('Name'); + return $header + parent::buildHeader(); + } + + /** + * {@inheritdoc} + */ + public function buildRow(EntityInterface $entity) { + /* @var $entity \Drupal\edlp_studio\Entity\Fil */ + $row['id'] = $entity->id(); + $row['name'] = Link::createFromRoute( + $entity->label(), + 'entity.fil.edit_form', + ['fil' => $entity->id()] + ); + return $row + parent::buildRow($entity); + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/Form/ChutierDeleteForm.php b/sites/all/modules/figli/edlp_studio/src/Form/ChutierDeleteForm.php new file mode 100644 index 000000000..33f9a1229 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/Form/ChutierDeleteForm.php @@ -0,0 +1,15 @@ +entity; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function save(array $form, FormStateInterface $form_state) { + $entity = $this->entity; + + $status = parent::save($form, $form_state); + + switch ($status) { + case SAVED_NEW: + drupal_set_message($this->t('Created the %label Chutier.', [ + '%label' => $entity->label(), + ])); + break; + + default: + drupal_set_message($this->t('Saved the %label Chutier.', [ + '%label' => $entity->label(), + ])); + } + $form_state->setRedirect('entity.chutier.canonical', ['chutier' => $entity->id()]); + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/Form/ChutierSettingsForm.php b/sites/all/modules/figli/edlp_studio/src/Form/ChutierSettingsForm.php new file mode 100644 index 000000000..d28d58737 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/Form/ChutierSettingsForm.php @@ -0,0 +1,53 @@ +entity; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function save(array $form, FormStateInterface $form_state) { + $entity = $this->entity; + + $status = parent::save($form, $form_state); + + switch ($status) { + case SAVED_NEW: + drupal_set_message($this->t('Created the %label Fil.', [ + '%label' => $entity->label(), + ])); + break; + + default: + drupal_set_message($this->t('Saved the %label Fil.', [ + '%label' => $entity->label(), + ])); + } + $form_state->setRedirect('entity.fil.canonical', ['fil' => $entity->id()]); + } + +} diff --git a/sites/all/modules/figli/edlp_studio/src/Form/FilSettingsForm.php b/sites/all/modules/figli/edlp_studio/src/Form/FilSettingsForm.php new file mode 100644 index 000000000..f5f4336f3 --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/src/Form/FilSettingsForm.php @@ -0,0 +1,53 @@ + + {% if content %} + {{- content -}} + {% endif %} + diff --git a/sites/all/modules/figli/edlp_studio/templates/fil.html.twig b/sites/all/modules/figli/edlp_studio/templates/fil.html.twig new file mode 100644 index 000000000..fef7ae57f --- /dev/null +++ b/sites/all/modules/figli/edlp_studio/templates/fil.html.twig @@ -0,0 +1,22 @@ +{# +/** + * @file fil.html.twig + * Default theme implementation to present Fil data. + * + * This template is used when viewing Fil pages. + * + * + * Available variables: + * - content: A list of content items. Use 'content' to print all content, or + * - attributes: HTML attributes for the container element. + * + * @see template_preprocess_fil() + * + * @ingroup themeable + */ +#} + + {% if content %} + {{- content -}} + {% endif %} + diff --git a/sites/default/config/sync/core.extension.yml b/sites/default/config/sync/core.extension.yml index 53bc5948c..ca0798108 100644 --- a/sites/default/config/sync/core.extension.yml +++ b/sites/default/config/sync/core.extension.yml @@ -34,7 +34,9 @@ module: edlp_home: 0 edlp_migrate: 0 edlp_productions: 0 + edlp_studio: 0 entity: 0 + entity_reference: 0 features: 0 features_ui: 0 field: 0 diff --git a/sites/default/config/sync/user.role.anonymous.yml b/sites/default/config/sync/user.role.anonymous.yml index 0cb7da7d4..c2c069d42 100644 --- a/sites/default/config/sync/user.role.anonymous.yml +++ b/sites/default/config/sync/user.role.anonymous.yml @@ -14,3 +14,4 @@ permissions: - 'access kint' - 'create corpus_documents workflow_transition' - 'create generique workflow_transition' + - 'view published fil entities' diff --git a/sites/default/config/sync/user.role.authenticated.yml b/sites/default/config/sync/user.role.authenticated.yml index 9b1ba7e85..8076f3bab 100644 --- a/sites/default/config/sync/user.role.authenticated.yml +++ b/sites/default/config/sync/user.role.authenticated.yml @@ -12,6 +12,15 @@ permissions: - 'access content' - 'access devel information' - 'access kint' + - 'add chutier entities' + - 'add fil entities' - 'create corpus_documents workflow_transition' - 'create generique workflow_transition' + - 'delete own chutier entities' + - 'delete own fil entities' + - 'edit own chutier entities' + - 'edit own fil entities' - 'use text format wysiwyg' + - 'view own unpublished chutier entities' + - 'view own unpublished fil entities' + - 'view published fil entities' diff --git a/sites/default/config/sync/user.role.root.yml b/sites/default/config/sync/user.role.root.yml index 71e525849..8f8fedacd 100644 --- a/sites/default/config/sync/user.role.root.yml +++ b/sites/default/config/sync/user.role.root.yml @@ -13,30 +13,45 @@ permissions: - 'access content' - 'access content overview' - 'access contextual links' + - 'access corpus_documents workflow_transition form' - 'access devel information' - 'access files overview' + - 'access generique workflow_transition form' - 'access inactive domains' + - 'access own corpus_documents workflow_transion overview' + - 'access own generique workflow_transion overview' - 'access profile overview' - 'access site in maintenance mode' - 'access site reports' - 'access toolbar' - 'access user profiles' + - 'add chutier entities' + - 'administer account menu items' - 'administer account settings' - 'administer actions' + - 'administer admin menu items' - 'administer blocks' + - 'administer chutier display' + - 'administer chutier entities' + - 'administer chutier fields' + - 'administer chutier form display' - 'administer content translation' - 'administer content types' - 'administer contexts' + - 'administer devel menu items' - 'administer devel_generate' - 'administer display modes' - 'administer domain aliases' - 'administer domains' + - 'administer fil entities' - 'administer filters' + - 'administer footer menu items' - 'administer image styles' - 'administer languages' - 'administer linkit profiles' - 'administer login destination settings' - 'administer maillog' + - 'administer main menu items' - 'administer menu' - 'administer migrations' - 'administer modules' @@ -54,11 +69,13 @@ permissions: - 'administer responsive images' - 'administer site configuration' - 'administer software updates' + - 'administer studio' - 'administer taxonomy' - 'administer taxonomy_term display' - 'administer taxonomy_term fields' - 'administer taxonomy_term form display' - 'administer themes' + - 'administer tools menu items' - 'administer url aliases' - 'administer user display' - 'administer user fields' @@ -66,8 +83,12 @@ permissions: - 'administer users' - 'administer views' - 'administer workflow' + - 'administer workflow_transition display' + - 'administer workflow_transition fields' + - 'administer workflow_transition form display' - 'assign domain administrators' - 'ban IP addresses' + - 'bulkdelete nodes' - 'bypass corpus_documents workflow_transition access' - 'bypass generique workflow_transition access' - 'bypass node access' @@ -85,19 +106,24 @@ permissions: - 'create page content' - 'create static content' - 'create url aliases' + - 'delete all fil revisions' - 'delete all revisions' - 'delete any autre_son content' + - 'delete any chutier entities' - 'delete any enregistrement content' - 'delete any evenement content' - 'delete any fil content' + - 'delete any fil entities' - 'delete any page content' - 'delete any static content' - 'delete assigned domains' - 'delete autre_son revisions' + - 'delete chutier entities' - 'delete content translations' - 'delete domain aliases' - 'delete enregistrement revisions' - 'delete evenement revisions' + - 'delete fil entities' - 'delete fil revisions' - 'delete maillog' - 'delete own autre_son content' @@ -115,13 +141,17 @@ permissions: - 'delete terms in locuteurs' - 'delete terms in page_type' - 'edit any autre_son content' + - 'edit any chutier entities' - 'edit any enregistrement content' - 'edit any evenement content' - 'edit any fil content' + - 'edit any fil entities' - 'edit any page content' - 'edit any static content' - 'edit assigned domains' + - 'edit chutier entities' - 'edit domain aliases' + - 'edit fil entities' - 'edit own autre_son content' - 'edit own enregistrement content' - 'edit own evenement content' @@ -138,6 +168,7 @@ permissions: - 'export configuration' - 'import configuration' - 'link to any page' + - 'revert all fil revisions' - 'revert all revisions' - 'revert autre_son revisions' - 'revert enregistrement revisions' @@ -159,7 +190,10 @@ permissions: - 'use domain nav block' - 'use domain switcher block' - 'use text format wysiwyg' + - 'view all fil revisions' - 'view all revisions' + - 'view any unpublished chutier entities' + - 'view any unpublished fil entities' - 'view assigned domains' - 'view autre_son revisions' - 'view domain aliases' @@ -172,5 +206,9 @@ permissions: - 'view own unpublished content' - 'view page revisions' - 'view profile' + - 'view published chutier entities' + - 'view published fil entities' - 'view static revisions' - 'view the administration theme' + - 'view unpublished chutier entities' + - 'view unpublished fil entities'