Browse Source

started puissance d'agir

bach 1 year ago
parent
commit
e622f56356
34 changed files with 811 additions and 2 deletions
  1. 1 0
      src/composer.json
  2. 77 1
      src/composer.lock
  3. 9 0
      src/config/sync/auto_entitylabel.settings.node.besoin.yml
  4. 22 0
      src/config/sync/core.base_field_override.node.besoin.promote.yml
  5. 22 0
      src/config/sync/core.base_field_override.node.reponse.promote.yml
  6. 112 0
      src/config/sync/core.entity_form_display.node.besoin.default.yml
  7. 38 1
      src/config/sync/core.entity_form_display.node.concernement.default.yml
  8. 42 0
      src/config/sync/core.entity_form_display.node.reponse.default.yml
  9. 48 0
      src/config/sync/core.entity_view_display.node.besoin.default.yml
  10. 36 0
      src/config/sync/core.entity_view_display.node.besoin.teaser.yml
  11. 9 0
      src/config/sync/core.entity_view_display.node.concernement.default.yml
  12. 2 0
      src/config/sync/core.entity_view_display.node.concernement.teaser.yml
  13. 30 0
      src/config/sync/core.entity_view_display.node.reponse.default.yml
  14. 32 0
      src/config/sync/core.entity_view_display.node.reponse.teaser.yml
  15. 3 0
      src/config/sync/core.extension.yml
  16. 23 0
      src/config/sync/field.field.node.besoin.body.yml
  17. 29 0
      src/config/sync/field.field.node.besoin.field_concernement.yml
  18. 29 0
      src/config/sync/field.field.node.besoin.field_reponse.yml
  19. 29 0
      src/config/sync/field.field.node.concernement.field_besoin.yml
  20. 23 0
      src/config/sync/field.field.node.reponse.body.yml
  21. 19 0
      src/config/sync/field.storage.node.field_besoin.yml
  22. 19 0
      src/config/sync/field.storage.node.field_concernement.yml
  23. 19 0
      src/config/sync/field.storage.node.field_reponse.yml
  24. 11 0
      src/config/sync/language.content_settings.node.besoin.yml
  25. 11 0
      src/config/sync/language.content_settings.node.reponse.yml
  26. 17 0
      src/config/sync/node.type.besoin.yml
  27. 17 0
      src/config/sync/node.type.reponse.yml
  28. 5 0
      src/config/sync/user.role.admin.yml
  29. 3 0
      src/config/sync/user.role.authenticated.yml
  30. 2 0
      src/config/sync/user.role.group_admin.yml
  31. 2 0
      src/config/sync/user.role.group_member.yml
  32. 4 0
      src/config/sync/user.role.user.yml
  33. 8 0
      src/web/modules/custom/ouatt_puissanceagir/ouatt_puissanceagir.info.yml
  34. 58 0
      src/web/modules/custom/ouatt_puissanceagir/ouatt_puissanceagir.module

+ 1 - 0
src/composer.json

@@ -21,6 +21,7 @@
         "drupal/administerusersbyrole": "^3.3",
         "drupal/amswap": "^3",
         "drupal/audiofield": "1.x-dev@dev",
+        "drupal/auto_entitylabel": "^3.0",
         "drupal/base_field_override_ui": "^1.1",
         "drupal/config_pages": "^2.14",
         "drupal/core-composer-scaffold": "^9",

+ 77 - 1
src/composer.lock

@@ -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": "017c14c4d3314080d32106bcdc238fd2",
+    "content-hash": "d34a483af063733e7e63ed66c1314ff5",
     "packages": [
         {
             "name": "alchemy/zippy",
@@ -2688,6 +2688,82 @@
                 "issues": "https://www.drupal.org/project/issues/audiofield"
             }
         },
+        {
+            "name": "drupal/auto_entitylabel",
+            "version": "3.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://git.drupalcode.org/project/auto_entitylabel.git",
+                "reference": "8.x-3.0"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://ftp.drupal.org/files/projects/auto_entitylabel-8.x-3.0.zip",
+                "reference": "8.x-3.0",
+                "shasum": "8dd54d4b677f2c7259a15afd7b71d0d1b6f6b4a6"
+            },
+            "require": {
+                "drupal/core": "^9.3 || ^10"
+            },
+            "require-dev": {
+                "drupal/token": "^1.0"
+            },
+            "type": "drupal-module",
+            "extra": {
+                "drupal": {
+                    "version": "8.x-3.0",
+                    "datestamp": "1671545557",
+                    "security-coverage": {
+                        "status": "covered",
+                        "message": "Covered by Drupal's security advisory policy"
+                    }
+                }
+            },
+            "notification-url": "https://packages.drupal.org/8/downloads",
+            "license": [
+                "GPL-2.0-or-later"
+            ],
+            "authors": [
+                {
+                    "name": "bforchhammer",
+                    "homepage": "https://www.drupal.org/user/216396"
+                },
+                {
+                    "name": "colan",
+                    "homepage": "https://www.drupal.org/user/58704"
+                },
+                {
+                    "name": "diqidoq",
+                    "homepage": "https://www.drupal.org/user/1001934"
+                },
+                {
+                    "name": "japerry",
+                    "homepage": "https://www.drupal.org/user/45640"
+                },
+                {
+                    "name": "Pravin Ajaaz",
+                    "homepage": "https://www.drupal.org/user/2910049"
+                },
+                {
+                    "name": "purushotam.rai",
+                    "homepage": "https://www.drupal.org/user/3193859"
+                },
+                {
+                    "name": "RenatoG",
+                    "homepage": "https://www.drupal.org/user/3326031"
+                },
+                {
+                    "name": "VladimirAus",
+                    "homepage": "https://www.drupal.org/user/673120"
+                }
+            ],
+            "description": "Allows hiding of entity label fields and automatic label creation.",
+            "homepage": "https://www.drupal.org/project/auto_entitylabel",
+            "support": {
+                "source": "https://git.drupalcode.org/project/auto_entitylabel",
+                "issues": "https://www.drupal.org/project/issues/auto_entitylabel"
+            }
+        },
         {
             "name": "drupal/autocomplete_deluxe",
             "version": "2.0.3",

+ 9 - 0
src/config/sync/auto_entitylabel.settings.node.besoin.yml

@@ -0,0 +1,9 @@
+status: 1
+pattern: 'besoin-[node:field_concernement:entity:title]-[random:hash:sha1]'
+escape: false
+preserve_titles: false
+save: false
+chunk: 50
+dependencies:
+  config:
+    - node.type.besoin

+ 22 - 0
src/config/sync/core.base_field_override.node.besoin.promote.yml

@@ -0,0 +1,22 @@
+uuid: 89b2c5f1-53b1-4027-968f-556f9033352a
+langcode: fr
+status: true
+dependencies:
+  config:
+    - node.type.besoin
+id: node.besoin.promote
+field_name: promote
+entity_type: node
+bundle: besoin
+label: 'Promu en page d''accueil'
+description: ''
+required: false
+translatable: true
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  on_label: Activé
+  off_label: Désactivé
+field_type: boolean

+ 22 - 0
src/config/sync/core.base_field_override.node.reponse.promote.yml

@@ -0,0 +1,22 @@
+uuid: 4a5d1349-b8bd-4c27-81f7-84c144fea797
+langcode: fr
+status: true
+dependencies:
+  config:
+    - node.type.reponse
+id: node.reponse.promote
+field_name: promote
+entity_type: node
+bundle: reponse
+label: 'Promu en page d''accueil'
+description: ''
+required: false
+translatable: true
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  on_label: Activé
+  off_label: Désactivé
+field_type: boolean

+ 112 - 0
src/config/sync/core.entity_form_display.node.besoin.default.yml

@@ -0,0 +1,112 @@
+uuid: 23105019-b114-4453-8fb5-4080318ebf6d
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.field.node.besoin.body
+    - field.field.node.besoin.field_concernement
+    - field.field.node.besoin.field_reponse
+    - node.type.besoin
+  module:
+    - field_group
+    - text
+third_party_settings:
+  field_group:
+    group_tabs:
+      children:
+        - group_besoin
+        - group_reponse
+      label: Tabs
+      region: content
+      parent_name: ''
+      weight: 1
+      format_type: tabs
+      format_settings:
+        classes: ''
+        show_empty_fields: false
+        id: ''
+        direction: horizontal
+        width_breakpoint: 640
+    group_besoin:
+      children:
+        - body
+      label: Besoin
+      region: content
+      parent_name: group_tabs
+      weight: 14
+      format_type: tab
+      format_settings:
+        classes: ''
+        show_empty_fields: false
+        id: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+    group_reponse:
+      children:
+        - field_reponse
+      label: Réponses
+      region: content
+      parent_name: group_tabs
+      weight: 15
+      format_type: tab
+      format_settings:
+        classes: ''
+        show_empty_fields: false
+        id: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+id: node.besoin.default
+targetEntityType: node
+bundle: besoin
+mode: default
+content:
+  body:
+    type: text_textarea_with_summary
+    weight: 1
+    region: content
+    settings:
+      rows: 9
+      summary_rows: 3
+      placeholder: ''
+      show_summary: false
+    third_party_settings: {  }
+  field_concernement:
+    type: entity_reference_autocomplete
+    weight: 2
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  field_reponse:
+    type: entity_reference_autocomplete
+    weight: 3
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden:
+  created: true
+  langcode: true
+  path: true
+  promote: true
+  revision_log: true
+  status: true
+  sticky: true
+  uid: true
+  url_redirects: true

+ 38 - 1
src/config/sync/core.entity_form_display.node.concernement.default.yml

@@ -3,6 +3,7 @@ langcode: fr
 status: true
 dependencies:
   config:
+    - field.field.node.concernement.field_besoin
     - field.field.node.concernement.field_caillou
     - field.field.node.concernement.field_confidentialite
     - field.field.node.concernement.field_description
@@ -15,6 +16,7 @@ dependencies:
     - advanced_text_formatter
     - field_group
     - file
+    - inline_entity_form
     - maxlength
     - paragraphs
     - workflow
@@ -26,6 +28,7 @@ third_party_settings:
         - group_entites
         - group_recit
         - group_ateliers
+        - group_puissance_d_agir
         - group_doleancer
         - group_confidentialite
       label: Tabs
@@ -107,7 +110,7 @@ third_party_settings:
       label: Confidentialité
       region: content
       parent_name: group_tabs
-      weight: 17
+      weight: 18
       format_type: tab
       format_settings:
         classes: ''
@@ -122,6 +125,21 @@ third_party_settings:
       label: Doleancer
       region: content
       parent_name: group_tabs
+      weight: 17
+      format_type: tab
+      format_settings:
+        classes: ''
+        show_empty_fields: false
+        id: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+    group_puissance_d_agir:
+      children:
+        - field_besoin
+      label: 'Puissance d''agir'
+      region: content
+      parent_name: group_tabs
       weight: 16
       format_type: tab
       format_settings:
@@ -136,6 +154,24 @@ targetEntityType: node
 bundle: concernement
 mode: default
 content:
+  field_besoin:
+    type: inline_entity_form_complex
+    weight: 27
+    region: content
+    settings:
+      form_mode: default
+      override_labels: false
+      label_singular: ''
+      label_plural: ''
+      allow_new: true
+      allow_existing: false
+      match_operator: CONTAINS
+      allow_duplicate: false
+      collapsible: false
+      collapsed: false
+      revision: false
+      removed_reference: delete
+    third_party_settings: {  }
   field_caillou:
     type: string_textarea
     weight: 2
@@ -231,6 +267,7 @@ hidden:
   langcode: true
   path: true
   promote: true
+  revision_log: true
   status: true
   sticky: true
   uid: true

+ 42 - 0
src/config/sync/core.entity_form_display.node.reponse.default.yml

@@ -0,0 +1,42 @@
+uuid: 6999ab7f-3000-4226-9f6d-efe8a6df4743
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.field.node.reponse.body
+    - node.type.reponse
+  module:
+    - text
+id: node.reponse.default
+targetEntityType: node
+bundle: reponse
+mode: default
+content:
+  body:
+    type: text_textarea_with_summary
+    weight: 1
+    region: content
+    settings:
+      rows: 9
+      summary_rows: 3
+      placeholder: ''
+      show_summary: false
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden:
+  created: true
+  langcode: true
+  path: true
+  promote: true
+  revision_log: true
+  status: true
+  sticky: true
+  uid: true
+  url_redirects: true

+ 48 - 0
src/config/sync/core.entity_view_display.node.besoin.default.yml

@@ -0,0 +1,48 @@
+uuid: c39a7087-ddbf-4ce4-a833-58c4bfec76b4
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.field.node.besoin.body
+    - field.field.node.besoin.field_concernement
+    - field.field.node.besoin.field_reponse
+    - node.type.besoin
+  module:
+    - text
+    - user
+id: node.besoin.default
+targetEntityType: node
+bundle: besoin
+mode: default
+content:
+  body:
+    type: text_default
+    label: hidden
+    settings: {  }
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  field_concernement:
+    type: entity_reference_label
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 102
+    region: content
+  field_reponse:
+    type: entity_reference_label
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 103
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden:
+  langcode: true
+  search_api_excerpt: true

+ 36 - 0
src/config/sync/core.entity_view_display.node.besoin.teaser.yml

@@ -0,0 +1,36 @@
+uuid: aadf4085-0455-4228-9aa7-57030c673b1b
+langcode: fr
+status: true
+dependencies:
+  config:
+    - core.entity_view_mode.node.teaser
+    - field.field.node.besoin.body
+    - field.field.node.besoin.field_concernement
+    - field.field.node.besoin.field_reponse
+    - node.type.besoin
+  module:
+    - text
+    - user
+id: node.besoin.teaser
+targetEntityType: node
+bundle: besoin
+mode: teaser
+content:
+  body:
+    type: text_summary_or_trimmed
+    label: hidden
+    settings:
+      trim_length: 600
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden:
+  field_concernement: true
+  field_reponse: true
+  langcode: true
+  search_api_excerpt: true

+ 9 - 0
src/config/sync/core.entity_view_display.node.concernement.default.yml

@@ -3,6 +3,7 @@ langcode: fr
 status: true
 dependencies:
   config:
+    - field.field.node.concernement.field_besoin
     - field.field.node.concernement.field_caillou
     - field.field.node.concernement.field_confidentialite
     - field.field.node.concernement.field_description
@@ -21,6 +22,14 @@ targetEntityType: node
 bundle: concernement
 mode: default
 content:
+  field_besoin:
+    type: entity_reference_label
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 110
+    region: content
   field_caillou:
     type: basic_string
     label: above

+ 2 - 0
src/config/sync/core.entity_view_display.node.concernement.teaser.yml

@@ -4,6 +4,7 @@ status: true
 dependencies:
   config:
     - core.entity_view_mode.node.teaser
+    - field.field.node.concernement.field_besoin
     - field.field.node.concernement.field_caillou
     - field.field.node.concernement.field_confidentialite
     - field.field.node.concernement.field_description
@@ -25,6 +26,7 @@ content:
     weight: 100
     region: content
 hidden:
+  field_besoin: true
   field_caillou: true
   field_confidentialite: true
   field_description: true

+ 30 - 0
src/config/sync/core.entity_view_display.node.reponse.default.yml

@@ -0,0 +1,30 @@
+uuid: fb5fe2a6-0858-4bd2-a140-cb454eeec0e5
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.field.node.reponse.body
+    - node.type.reponse
+  module:
+    - text
+    - user
+id: node.reponse.default
+targetEntityType: node
+bundle: reponse
+mode: default
+content:
+  body:
+    type: text_default
+    label: hidden
+    settings: {  }
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden:
+  langcode: true
+  search_api_excerpt: true

+ 32 - 0
src/config/sync/core.entity_view_display.node.reponse.teaser.yml

@@ -0,0 +1,32 @@
+uuid: 3ed80da4-645b-48b3-aa49-de6ec623c7df
+langcode: fr
+status: true
+dependencies:
+  config:
+    - core.entity_view_mode.node.teaser
+    - field.field.node.reponse.body
+    - node.type.reponse
+  module:
+    - text
+    - user
+id: node.reponse.teaser
+targetEntityType: node
+bundle: reponse
+mode: teaser
+content:
+  body:
+    type: text_summary_or_trimmed
+    label: hidden
+    settings:
+      trim_length: 600
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden:
+  langcode: true
+  search_api_excerpt: true

+ 3 - 0
src/config/sync/core.extension.yml

@@ -13,6 +13,7 @@ module:
   advanced_text_formatter: 0
   amswap: 0
   audiofield: 0
+  auto_entitylabel: 0
   autocomplete_deluxe: 0
   ban: 0
   base_field_override_ui: 0
@@ -93,6 +94,7 @@ module:
   options: 0
   ouatt_admin: 0
   ouatt_graphql: 0
+  ouatt_puissanceagir: 0
   ouatt_users: 0
   page_cache: 0
   pagerer: 0
@@ -137,6 +139,7 @@ module:
   workflow_ui: 0
   extlink: 1
   filefield_sources: 1
+  hide_revision_field: 1
   menu_admin_per_menu: 1
   pathauto: 1
   content_translation: 10

+ 23 - 0
src/config/sync/field.field.node.besoin.body.yml

@@ -0,0 +1,23 @@
+uuid: ed448c87-5ca9-4a68-ab07-a2b2ff4ebd23
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.body
+    - node.type.besoin
+  module:
+    - text
+id: node.besoin.body
+field_name: body
+entity_type: node
+bundle: besoin
+label: 'Description du besoin'
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings:
+  display_summary: true
+  required_summary: false
+field_type: text_with_summary

+ 29 - 0
src/config/sync/field.field.node.besoin.field_concernement.yml

@@ -0,0 +1,29 @@
+uuid: 5d497aca-e589-4f4f-9e49-a2cd5ffe030e
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_concernement
+    - node.type.besoin
+    - node.type.concernement
+id: node.besoin.field_concernement
+field_name: field_concernement
+entity_type: node
+bundle: besoin
+label: concernement
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:node'
+  handler_settings:
+    target_bundles:
+      concernement: concernement
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+    auto_create_bundle: ''
+field_type: entity_reference

+ 29 - 0
src/config/sync/field.field.node.besoin.field_reponse.yml

@@ -0,0 +1,29 @@
+uuid: c8eaeec5-3f0d-461b-b50c-a9d4e976034e
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_reponse
+    - node.type.besoin
+    - node.type.reponse
+id: node.besoin.field_reponse
+field_name: field_reponse
+entity_type: node
+bundle: besoin
+label: Réponse
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:node'
+  handler_settings:
+    target_bundles:
+      reponse: reponse
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+    auto_create_bundle: ''
+field_type: entity_reference

+ 29 - 0
src/config/sync/field.field.node.concernement.field_besoin.yml

@@ -0,0 +1,29 @@
+uuid: 19dab27f-d0a2-445f-9d0a-fadb6bd89087
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_besoin
+    - node.type.besoin
+    - node.type.concernement
+id: node.concernement.field_besoin
+field_name: field_besoin
+entity_type: node
+bundle: concernement
+label: Besoin
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:node'
+  handler_settings:
+    target_bundles:
+      besoin: besoin
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: true
+    auto_create_bundle: ''
+field_type: entity_reference

+ 23 - 0
src/config/sync/field.field.node.reponse.body.yml

@@ -0,0 +1,23 @@
+uuid: 3fb92c3b-505d-4991-abde-b44e3f7a8ae0
+langcode: fr
+status: true
+dependencies:
+  config:
+    - field.storage.node.body
+    - node.type.reponse
+  module:
+    - text
+id: node.reponse.body
+field_name: body
+entity_type: node
+bundle: reponse
+label: Body
+description: ''
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings:
+  display_summary: true
+  required_summary: false
+field_type: text_with_summary

+ 19 - 0
src/config/sync/field.storage.node.field_besoin.yml

@@ -0,0 +1,19 @@
+uuid: 0ea0c827-31b3-4883-a442-a6c1d15d3732
+langcode: fr
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_besoin
+field_name: field_besoin
+entity_type: node
+type: entity_reference
+settings:
+  target_type: node
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false

+ 19 - 0
src/config/sync/field.storage.node.field_concernement.yml

@@ -0,0 +1,19 @@
+uuid: b6de5a82-c854-4a6e-bc03-aa59dee09164
+langcode: fr
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_concernement
+field_name: field_concernement
+entity_type: node
+type: entity_reference
+settings:
+  target_type: node
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false

+ 19 - 0
src/config/sync/field.storage.node.field_reponse.yml

@@ -0,0 +1,19 @@
+uuid: ec622ec5-6166-4320-83bb-d8474ed042f5
+langcode: fr
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_reponse
+field_name: field_reponse
+entity_type: node
+type: entity_reference
+settings:
+  target_type: node
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false

+ 11 - 0
src/config/sync/language.content_settings.node.besoin.yml

@@ -0,0 +1,11 @@
+uuid: 84d221ce-f269-441b-9604-c9e354d50961
+langcode: fr
+status: true
+dependencies:
+  config:
+    - node.type.besoin
+id: node.besoin
+target_entity_type_id: node
+target_bundle: besoin
+default_langcode: site_default
+language_alterable: false

+ 11 - 0
src/config/sync/language.content_settings.node.reponse.yml

@@ -0,0 +1,11 @@
+uuid: 0d707bb1-ad6b-47d4-bc62-937ce38300b6
+langcode: fr
+status: true
+dependencies:
+  config:
+    - node.type.reponse
+id: node.reponse
+target_entity_type_id: node
+target_bundle: reponse
+default_langcode: site_default
+language_alterable: false

+ 17 - 0
src/config/sync/node.type.besoin.yml

@@ -0,0 +1,17 @@
+uuid: 04dbc27a-fcec-4dde-bb09-602e64b49204
+langcode: fr
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus: {  }
+    parent: ''
+name: Besoin
+type: besoin
+description: ''
+help: ''
+new_revision: true
+preview_mode: 0
+display_submitted: false

+ 17 - 0
src/config/sync/node.type.reponse.yml

@@ -0,0 +1,17 @@
+uuid: 6180ac27-a21a-4f00-9304-9c8b97661f4c
+langcode: fr
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus: {  }
+    parent: ''
+name: Reponse
+type: reponse
+description: ''
+help: ''
+new_revision: true
+preview_mode: 0
+display_submitted: false

+ 5 - 0
src/config/sync/user.role.admin.yml

@@ -4,6 +4,7 @@ status: true
 dependencies:
   config:
     - filter.format.wysiwyg
+    - node.type.besoin
     - node.type.concernement
     - node.type.entite
     - node.type.static
@@ -46,6 +47,7 @@ permissions:
   - 'cancel users with role group_admin'
   - 'cancel users with role group_member'
   - 'change own username'
+  - 'create besoin content'
   - 'create bourgeon group'
   - 'create concernement content'
   - 'create confidentialite workflow_transition'
@@ -72,8 +74,10 @@ permissions:
   - 'delete any evenement content'
   - 'delete any fil content'
   - 'delete any page content'
+  - 'delete besoin revisions'
   - 'delete concernement revisions'
   - 'delete entite revisions'
+  - 'delete own besoin content'
   - 'delete own concernement content'
   - 'delete own entite content'
   - 'delete own static content'
@@ -86,6 +90,7 @@ permissions:
   - 'delete terms in locuteurs'
   - 'delete terms in structure'
   - 'edit any autre_son content'
+  - 'edit any besoin content'
   - 'edit any enregistrement content'
   - 'edit any entite content'
   - 'edit any evenement content'

+ 3 - 0
src/config/sync/user.role.authenticated.yml

@@ -5,11 +5,13 @@ dependencies:
   config:
     - filter.format.linkonly
     - filter.format.wysiwyg
+    - node.type.besoin
   module:
     - devel
     - filter
     - graphql
     - group
+    - node
     - system
     - workflow
 _core:
@@ -34,6 +36,7 @@ permissions:
   - 'create generique workflow_transition'
   - 'delete own composition entities'
   - 'delete own fil entities'
+  - 'edit own besoin content'
   - 'edit own chutier entities'
   - 'edit own composition entities'
   - 'edit own fil entities'

+ 2 - 0
src/config/sync/user.role.group_admin.yml

@@ -3,6 +3,7 @@ langcode: fr
 status: true
 dependencies:
   config:
+    - node.type.besoin
     - node.type.concernement
     - node.type.entite
     - taxonomy.vocabulary.lieu
@@ -25,6 +26,7 @@ permissions:
   - 'access toolbar'
   - 'assign group_member role'
   - 'cancel users with role group_member'
+  - 'create besoin content'
   - 'create concernement content'
   - 'create confidentialite workflow_transition'
   - 'create entite content'

+ 2 - 0
src/config/sync/user.role.group_member.yml

@@ -3,6 +3,7 @@ langcode: fr
 status: true
 dependencies:
   config:
+    - node.type.besoin
     - node.type.concernement
     - node.type.entite
   module:
@@ -17,6 +18,7 @@ is_admin: null
 permissions:
   - 'access administration pages'
   - 'access toolbar'
+  - 'create besoin content'
   - 'create concernement content'
   - 'create confidentialite workflow_transition'
   - 'create entite content'

+ 4 - 0
src/config/sync/user.role.user.yml

@@ -2,7 +2,10 @@ uuid: fd49076e-124c-4973-9a8e-efbd35cd1fbe
 langcode: fr
 status: true
 dependencies:
+  config:
+    - node.type.besoin
   module:
+    - node
     - workflow
 _core:
   default_config_hash: i1HX2g6ycNxMoSaVKRrMZtmApin-bVKG1d0FG04peQw
@@ -11,6 +14,7 @@ label: User
 weight: -4
 is_admin: null
 permissions:
+  - 'create besoin content'
   - 'create confidentialite workflow_transition'
   - 'create defalut workflow_transition'
   - 'create default workflow_transition'

+ 8 - 0
src/web/modules/custom/ouatt_puissanceagir/ouatt_puissanceagir.info.yml

@@ -0,0 +1,8 @@
+name: Où Atterrir Puissance d'agir
+type: module
+description: "Où Atterrir puissance d'agire."
+package: Ouatterrir
+core: 8.x
+# dependencies:
+#   - user
+core_version_requirement: ^8 || ^9

+ 58 - 0
src/web/modules/custom/ouatt_puissanceagir/ouatt_puissanceagir.module

@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * @file
+ * Contains admin_menus.module.
+ */
+
+use Drupal\Core\Routing\RouteMatchInterface;
+
+/**
+ * Implements hook_help().
+ */
+function ouatt_puissanceagir_help($route_name, RouteMatchInterface $route_match) {
+  switch ($route_name) {
+    // Main module help for the editors_menus module.
+    case 'help.page.ouatt_puissanceagir':
+      $output = '';
+      $output .= '<h3>' . t('About') . '</h3>';
+      $output .= '<p>' . t("Où Atterrir puissance d'agir custom module") . '</p>';
+      return $output;
+
+    default:
+  }
+}
+
+
+/**
+ * Implements hook_form_FORM_ID_alter().
+ */
+// function ouatt_puissanceagir_form_user_register_form_alter(&$form, $form_state, $form_id) {
+// function ouatt_puissanceagir_form_node_edit_form__node_besoin_form_alter(&$form, $form_state, $form_id) {
+// function ouatt_puissanceagir_form_node_edit_form__node_besoin_alter(&$form, $form_state, $form_id) {
+// function ouatt_puissanceagir_form_alter(&$form, $form_state, $form_id) {
+//   $t="t";
+// }
+
+// function ouatt_puissanceagir_field_widget_form_alter(&$element, &$form_state, $context) {
+
+//   // Add a css class to widget form elements for all fields of type mytype.
+//   if ($context['field']['type'] == 'mytype') {
+
+//     // Be sure not to overwrite existing attributes.
+//     $element['#attributes']['class'][] = 'myclass';
+//   }
+// }
+
+function ouatt_puissanceagir_inline_entity_form_entity_form_alter(&$entity_form, &$form_state) {
+  if ($entity_form['#entity_type'] === 'node' && $entity_form['#bundle'] === 'besoin') {
+    // prefile concernement entity reference field on besoin
+    // usefull for automatic entity label and for reciproque references
+    if (!$entity_form['field_concernement']['widget'][0]['target_id']['#default_value']) {
+      $parent_node = \Drupal::routeMatch()->getParameter('node');
+      $entity_form['field_concernement']['widget'][0]['target_id']['#default_value'] = $parent_node;
+    }
+    $entity_form['field_concernement']['#attributes']['style'] = ['display:none;'];
+
+  }
+}