decidim-assemblies 0.31.3 → 0.32.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -12
  3. data/app/cells/decidim/assemblies/content_blocks/main_data_cell.rb +1 -0
  4. data/app/commands/decidim/assemblies/admin/create_assembly.rb +4 -4
  5. data/app/commands/decidim/assemblies/admin/duplicate_assembly.rb +1 -2
  6. data/app/commands/decidim/assemblies/admin/update_assembly.rb +3 -3
  7. data/app/controllers/concerns/decidim/assemblies/admin/filterable.rb +6 -2
  8. data/app/controllers/concerns/decidim/assemblies/assembly_breadcrumb.rb +0 -3
  9. data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +2 -2
  10. data/app/controllers/decidim/assemblies/admin/assembly_duplicates_controller.rb +1 -1
  11. data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +1 -1
  12. data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +1 -0
  13. data/app/controllers/decidim/assemblies/admin/members_controller.rb +14 -0
  14. data/app/controllers/decidim/assemblies/admin/members_csv_imports_controller.rb +22 -0
  15. data/app/controllers/decidim/assemblies/{participatory_space_private_users_controller.rb → members_controller.rb} +2 -2
  16. data/app/forms/decidim/assemblies/admin/assembly_form.rb +9 -6
  17. data/app/helpers/decidim/assemblies/assemblies_helper.rb +2 -2
  18. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +2 -1
  19. data/app/models/decidim/assembly.rb +12 -15
  20. data/app/packs/src/decidim/assemblies/controllers/assembly_admin/assembly_admin.test.js +1 -130
  21. data/app/packs/src/decidim/assemblies/controllers/assembly_admin/controller.js +0 -28
  22. data/app/permissions/decidim/assemblies/permissions.rb +9 -9
  23. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +1 -2
  24. data/app/presenters/decidim/assemblies/assembly_presenter.rb +0 -4
  25. data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
  26. data/app/serializers/decidim/assemblies/assembly_importer.rb +10 -13
  27. data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
  28. data/app/serializers/decidim/assemblies/open_data_assembly_serializer.rb +2 -8
  29. data/app/views/decidim/assemblies/admin/assemblies/_assemblies_thead.html.erb +1 -1
  30. data/app/views/decidim/assemblies/admin/assemblies/_assembly_row.html.erb +5 -6
  31. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +33 -17
  32. data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +3 -2
  33. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +2 -1
  34. data/app/views/decidim/assemblies/admin/assemblies/manage_trash.html.erb +2 -2
  35. data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +2 -2
  36. data/app/views/decidim/assemblies/admin/assembly_duplicates/new.html.erb +2 -2
  37. data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +2 -2
  38. data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +2 -2
  39. data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +2 -2
  40. data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +2 -2
  41. data/app/views/decidim/assemblies/assemblies/_collection.html.erb +1 -1
  42. data/app/views/decidim/assemblies/assemblies/show.html.erb +9 -3
  43. data/app/views/decidim/assemblies/members/index.html.erb +24 -0
  44. data/config/locales/ar.yml +0 -26
  45. data/config/locales/bg.yml +0 -26
  46. data/config/locales/bs-BA.yml +0 -8
  47. data/config/locales/ca-IT.yml +36 -35
  48. data/config/locales/ca.yml +36 -35
  49. data/config/locales/cs.yml +36 -35
  50. data/config/locales/de.yml +27 -28
  51. data/config/locales/el.yml +0 -26
  52. data/config/locales/en.yml +36 -34
  53. data/config/locales/es-MX.yml +36 -35
  54. data/config/locales/es-PY.yml +36 -35
  55. data/config/locales/es.yml +36 -35
  56. data/config/locales/eu.yml +36 -35
  57. data/config/locales/fi-plain.yml +36 -29
  58. data/config/locales/fi.yml +36 -29
  59. data/config/locales/fr-CA.yml +34 -35
  60. data/config/locales/fr.yml +34 -35
  61. data/config/locales/ga-IE.yml +0 -12
  62. data/config/locales/gl.yml +0 -24
  63. data/config/locales/he-IL.yml +0 -11
  64. data/config/locales/hu.yml +0 -26
  65. data/config/locales/id-ID.yml +0 -22
  66. data/config/locales/is-IS.yml +1 -10
  67. data/config/locales/it.yml +0 -28
  68. data/config/locales/ja.yml +23 -35
  69. data/config/locales/kaa.yml +0 -1
  70. data/config/locales/ko.yml +0 -9
  71. data/config/locales/lb.yml +0 -24
  72. data/config/locales/lt.yml +0 -25
  73. data/config/locales/lv.yml +0 -25
  74. data/config/locales/nl.yml +0 -26
  75. data/config/locales/no.yml +0 -26
  76. data/config/locales/pl.yml +0 -26
  77. data/config/locales/pt-BR.yml +4 -28
  78. data/config/locales/pt.yml +0 -28
  79. data/config/locales/ro-RO.yml +2 -25
  80. data/config/locales/ru.yml +0 -15
  81. data/config/locales/sk.yml +0 -10
  82. data/config/locales/sl.yml +0 -11
  83. data/config/locales/sq-AL.yml +0 -17
  84. data/config/locales/sr-CS.yml +0 -8
  85. data/config/locales/sv.yml +16 -29
  86. data/config/locales/tr-TR.yml +0 -26
  87. data/config/locales/uk.yml +0 -15
  88. data/config/locales/zh-CN.yml +0 -25
  89. data/config/locales/zh-TW.yml +0 -26
  90. data/db/data/20260104094930_remove_assemblies_types_references.rb +25 -0
  91. data/db/data/20260111185230_replace_legacy_fields_to_access_mode_for_assemblies.rb +25 -0
  92. data/db/data/20260210195653_move_announcement_to_content_block_on_assemblies.rb +40 -0
  93. data/db/migrate/20180226103942_add_parent_child_relation_to_assemblies.rb +4 -4
  94. data/db/migrate/20190215093700_reset_negative_children_count_counters.rb +6 -2
  95. data/db/migrate/20210310120444_add_followable_counter_cache_to_assemblies.rb +6 -2
  96. data/db/migrate/20251112114736_remove_legacy_images_from_assemblies_module.rb +8 -0
  97. data/db/migrate/20251205120000_add_has_members_to_decidim_assemblies.rb +7 -0
  98. data/db/migrate/20260104093601_remove_assemblies_types.rb +12 -0
  99. data/db/migrate/20260111120000_add_access_mode_to_assemblies.rb +11 -0
  100. data/decidim-assemblies.gemspec +8 -9
  101. data/lib/decidim/api/assembly_type.rb +1 -8
  102. data/lib/decidim/assemblies/admin_engine.rb +10 -4
  103. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +5 -0
  104. data/lib/decidim/assemblies/engine.rb +26 -42
  105. data/lib/decidim/assemblies/menu.rb +5 -5
  106. data/lib/decidim/assemblies/participatory_space.rb +0 -2
  107. data/lib/decidim/assemblies/seeds.rb +1 -2
  108. data/lib/decidim/assemblies/test/factories.rb +8 -20
  109. data/lib/decidim/assemblies/version.rb +1 -1
  110. metadata +25 -30
  111. data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +0 -19
  112. data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +0 -17
  113. data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +0 -13
  114. data/app/controllers/decidim/assemblies/admin/participatory_space_private_users_controller.rb +0 -22
  115. data/app/controllers/decidim/assemblies/admin/participatory_space_private_users_csv_imports_controller.rb +0 -22
  116. data/app/forms/decidim/assemblies/admin/assemblies_type_form.rb +0 -17
  117. data/app/models/decidim/assemblies_type.rb +0 -27
  118. data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +0 -43
  119. data/app/presenters/decidim/log/value_types/assembly_type_presenter.rb +0 -29
  120. data/app/queries/decidim/assemblies/filtered_assemblies.rb +0 -22
  121. data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +0 -9
  122. data/app/views/decidim/assemblies/participatory_space_private_users/index.html.erb +0 -23
@@ -41,7 +41,7 @@ module Decidim
41
41
 
42
42
  return permission_action unless assembly
43
43
 
44
- user_can_read_private_users?
44
+ user_can_read_members?
45
45
 
46
46
  moderator_action?
47
47
  collaborator_action?
@@ -53,9 +53,9 @@ module Decidim
53
53
 
54
54
  private
55
55
 
56
- def user_can_read_private_users?
57
- return unless permission_action.subject == :space_private_user
58
- return unless assembly.private_space?
56
+ def user_can_read_members?
57
+ return unless permission_action.subject == :space_member
58
+ return unless assembly.has_members?
59
59
 
60
60
  toggle_allow(user.admin? || can_manage_assembly?(role: :admin) || can_manage_assembly?(role: :collaborator))
61
61
  end
@@ -108,7 +108,7 @@ module Decidim
108
108
  [:assembly, :participatory_space].include?(permission_action.subject) &&
109
109
  assembly
110
110
 
111
- return disallow! unless can_view_private_space?
111
+ return disallow! unless can_view_restricted_space?
112
112
  return allow! if user&.admin?
113
113
  return allow! if assembly.published?
114
114
  return allow! if user_can_preview_space?
@@ -116,11 +116,11 @@ module Decidim
116
116
  toggle_allow(can_manage_assembly?)
117
117
  end
118
118
 
119
- def can_view_private_space?
120
- return true unless assembly.private_space && !assembly.is_transparent?
119
+ def can_view_restricted_space?
120
+ return true unless assembly.restricted?
121
121
  return false unless user
122
122
 
123
- user.admin || assembly.users.include?(user)
123
+ user.admin? || assembly.users.include?(user)
124
124
  end
125
125
 
126
126
  def public_list_members_action?
@@ -222,7 +222,7 @@ module Decidim
222
222
  # Collaborators can read/preview everything inside their assembly.
223
223
  def collaborator_action?
224
224
  return unless can_manage_assembly?(role: :collaborator)
225
- return if permission_action.subject == :space_private_user
225
+ return if permission_action.subject == :space_member
226
226
 
227
227
  allow! if permission_action.action == :read || permission_action.action == :preview
228
228
  end
@@ -35,7 +35,6 @@ module Decidim
35
35
  target: :i18n,
36
36
  title: :i18n,
37
37
  purpose_of_action: :i18n,
38
- decidim_assemblies_type_id: :assembly_type,
39
38
  creation_date: :date,
40
39
  created_by: :string,
41
40
  created_by_other: :i18n,
@@ -44,7 +43,7 @@ module Decidim
44
43
  closing_date: :date,
45
44
  closing_date_reason: :i18n,
46
45
  internal_organisation: :i18n,
47
- is_transparent: :boolean,
46
+ access_mode: :access_mode,
48
47
  special_features: :i18n,
49
48
  twitter_handler: :string,
50
49
  facebook_handler: :string,
@@ -9,10 +9,6 @@ module Decidim
9
9
  assembly.attached_uploader(:hero_image).url
10
10
  end
11
11
 
12
- def banner_image_url
13
- assembly.attached_uploader(:banner_image).url
14
- end
15
-
16
12
  def area_name
17
13
  return if assembly.area.blank?
18
14
 
@@ -42,7 +42,7 @@ module Decidim
42
42
  def assemblies_user_admins
43
43
  Decidim::User.where(
44
44
  id: Decidim::AssemblyUserRole.where(assembly: assemblies, role: :admin)
45
- .select(:decidim_user_id)
45
+ .select(:decidim_user_id)
46
46
  )
47
47
  end
48
48
 
@@ -38,7 +38,6 @@ module Decidim
38
38
  target: attributes["target"],
39
39
  participatory_scope: attributes["participatory_scope"],
40
40
  participatory_structure: attributes["participatory_structure"],
41
- private_space: attributes["private_space"],
42
41
  reference: attributes["reference"],
43
42
  purpose_of_action: attributes["purpose_of_action"],
44
43
  composition: attributes["composition"],
@@ -49,7 +48,6 @@ module Decidim
49
48
  closing_date: attributes["closing_date"],
50
49
  created_by_other: attributes["created_by_other"],
51
50
  internal_organisation: attributes["internal_organisation"],
52
- is_transparent: attributes["is_transparent"],
53
51
  special_features: attributes["special_features"],
54
52
  twitter_handler: attributes["twitter_handler"],
55
53
  instagram_handler: attributes["instagram_handler"],
@@ -58,11 +56,9 @@ module Decidim
58
56
  github_handler: attributes["github_handler"],
59
57
  created_by: attributes["created_by"],
60
58
  meta_scope: attributes["meta_scope"],
61
- announcement: attributes["announcement"]
59
+ access_mode: resolve_access_mode(attributes)
62
60
  )
63
61
  import_hero_image(attributes["remote_hero_image_url"])
64
- import_banner_image(attributes["remote_banner_image_url"])
65
-
66
62
  @imported_assembly.save!
67
63
  @imported_assembly
68
64
  end
@@ -178,14 +174,6 @@ module Decidim
178
174
  @warnings << I18n.t("decidim.assemblies.admin.imports.hero_image_error", error: format_error(e))
179
175
  end
180
176
 
181
- def import_banner_image(url)
182
- return if url.blank?
183
-
184
- @imported_assembly.attached_uploader(:banner_image).remote_url = url
185
- rescue OpenURI::HTTPError, Errno::ENOENT, Errno::ECONNREFUSED, SocketError, Net::OpenTimeout, Net::ReadTimeout => e
186
- @warnings << I18n.t("decidim.assemblies.admin.imports.banner_image_error", error: format_error(e))
187
- end
188
-
189
177
  def format_error(error)
190
178
  return error.message unless error.respond_to?(:io) && error.io.respond_to?(:status)
191
179
 
@@ -197,6 +185,15 @@ module Decidim
197
185
  message = message.presence || error.message
198
186
  "#{code} #{message}"
199
187
  end
188
+
189
+ def resolve_access_mode(attributes)
190
+ return attributes["access_mode"] if attributes["access_mode"].present?
191
+
192
+ return "transparent" if attributes["is_transparent"] == true
193
+ return "restricted" if attributes["private_space"] == true
194
+
195
+ "open"
196
+ end
200
197
  end
201
198
  end
202
199
  end
@@ -14,7 +14,7 @@ module Decidim
14
14
  attachment_collections: serialize_attachment_collections,
15
15
  files: serialize_attachments
16
16
  },
17
- private_space: resource.private_space,
17
+ access_mode: resource.access_mode,
18
18
  weight: resource.weight,
19
19
  components: serialize_components
20
20
  }
@@ -12,8 +12,6 @@ module Decidim
12
12
  url: EngineRouter.main_proxy(resource).assembly_url(resource),
13
13
  subtitle: resource.subtitle,
14
14
  remote_hero_image_url: Decidim::ParticipatoryProcesses::ParticipatoryProcessPresenter.new(resource).hero_image_url,
15
- remote_banner_image_url: Decidim::Assemblies::AssemblyPresenter.new(resource).banner_image_url,
16
- announcement: resource.announcement,
17
15
  developer_group: resource.developer_group,
18
16
  local_area: resource.local_area,
19
17
  meta_scope: resource.meta_scope,
@@ -39,18 +37,14 @@ module Decidim
39
37
  creation_date: resource.creation_date,
40
38
  closing_date_reason: resource.closing_date_reason,
41
39
  internal_organisation: resource.internal_organisation,
42
- is_transparent: resource.is_transparent,
40
+ access_mode: resource.access_mode,
43
41
  special_features: resource.special_features,
44
42
  twitter_handler: resource.twitter_handler,
45
43
  instagram_handler: resource.instagram_handler,
46
44
  facebook_handler: resource.facebook_handler,
47
45
  youtube_handler: resource.youtube_handler,
48
46
  github_handler: resource.github_handler,
49
- created_by_other: resource.created_by_other,
50
- assembly_type: {
51
- id: resource.assembly_type.try(:id),
52
- title: resource.assembly_type.try(:title) || empty_translatable
53
- }
47
+ created_by_other: resource.created_by_other
54
48
  }
55
49
  )
56
50
  end
@@ -7,7 +7,7 @@
7
7
  <%= sort_link(query, :created_at, t("models.assembly.fields.created_at", scope: "decidim.admin"), default_order: :desc) %>
8
8
  </th>
9
9
  <th>
10
- <%= sort_link(query, :private_space, t("models.assembly.fields.private", scope: "decidim.admin")) %>
10
+ <%= sort_link(query, :access_mode, t("models.assembly.fields.access_mode", scope: "decidim.admin")) %>
11
11
  </th>
12
12
  <th class="table-list__actions">
13
13
  <%= sort_link(query, :published_at, t("models.assembly.fields.published", scope: "decidim.admin")) %>
@@ -33,12 +33,11 @@
33
33
  <td class="table-list__date" data-label="<%= t("models.assembly.fields.created_at", scope: "decidim.admin") %>">
34
34
  <%= l(assembly.created_at, format: :short) %>
35
35
  </td>
36
- <td class="table-list__state" data-label="<%= t("models.assembly.fields.private", scope: "decidim.admin") %>">
37
- <% if assembly.private_space? %>
38
- <span><%= t("assemblies.index.private", scope: "decidim.admin") %></span>
39
- <% else %>
40
- <span><%= t("assemblies.index.public", scope: "decidim.admin") %></span>
41
- <% end %>
36
+ <td class="table-list__state" data-label="<%= t("models.assembly.fields.access_mode", scope: "decidim.admin") %>">
37
+ <%# i18n-tasks-use t("decidim.admin.assemblies.index.access_modes.open") %>
38
+ <%# i18n-tasks-use t("decidim.admin.assemblies.index.access_modes.restricted") %>
39
+ <%# i18n-tasks-use t("decidim.admin.assemblies.index.access_modes.transparent") %>
40
+ <span><%= t(assembly.access_mode, scope: "decidim.admin.assemblies.index.access_modes") %></span>
42
41
  </td>
43
42
  <td class="table-list__state" data-label="<%= t("models.assembly.fields.published", scope: "decidim.admin") %>">
44
43
  <% if assembly.published? %>
@@ -48,9 +48,6 @@
48
48
  <%= form.translated :editor, :internal_organisation, aria: { label: :internal_organisation } %>
49
49
  </div>
50
50
 
51
- <div class="row column">
52
- <%= form.translated :editor, :announcement, help_text: t(".announcement_help") %>
53
- </div>
54
51
  </div>
55
52
  </div>
56
53
  <div class="card" data-controller="accordion" id="accordion-duration">
@@ -101,10 +98,6 @@
101
98
  <div class="columns">
102
99
  <%= form.upload :hero_image, button_class: "button button__sm button__transparent-secondary" %>
103
100
  </div>
104
-
105
- <div class="columns">
106
- <%= form.upload :banner_image, button_class: "button button__sm button__transparent-secondary" %>
107
- </div>
108
101
  </div>
109
102
  </div>
110
103
  </div>
@@ -176,6 +169,39 @@
176
169
  </div>
177
170
  </div>
178
171
 
172
+ <div class="card" data-controller="accordion access-mode" id="accordion-access">
173
+ <div class="card-divider">
174
+ <button class="card-divider-button" data-open="true" data-controls="panel-access" type="button">
175
+ <%= icon "arrow-right-s-line" %>
176
+ <h2 class="card-title" id="access">
177
+ <%= t("label", scope: "decidim.assemblies.admin.assemblies.form.access") %>
178
+ </h2>
179
+ </button>
180
+ </div>
181
+ <div id="panel-access" class="card-section">
182
+ <div class="row column" id="has_members">
183
+ <%= form.check_box :has_members, help_text: t(".has_members_help") %>
184
+ </div>
185
+
186
+ <fieldset class="row column" id="access_mode">
187
+ <legend>
188
+ <%= t("access.set_this_space_as", scope: "decidim.assemblies.admin.assemblies.form") %>
189
+ </legend>
190
+ <div class="radio-group">
191
+ <%# i18n-tasks-use t("decidim.assemblies.admin.assemblies.form.access.options.open") %>
192
+ <%# i18n-tasks-use t("decidim.assemblies.admin.assemblies.form.access.options.restricted") %>
193
+ <%# i18n-tasks-use t("decidim.assemblies.admin.assemblies.form.access.options.transparent") %>
194
+ <% Decidim::Assembly::ACCESS_MODES.keys.each do |mode| %>
195
+ <%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
196
+ <%= form.radio_button :access_mode, mode %>
197
+ <span><%= t(mode, scope: "decidim.assemblies.admin.assemblies.form.access.options") %></span>
198
+ <% end %>
199
+ <% end %>
200
+ </div>
201
+ </fieldset>
202
+ </div>
203
+ </div>
204
+
179
205
  <div class="card" data-controller="accordion" id="accordion-visibility">
180
206
  <div class="card-divider">
181
207
  <button class="card-divider-button" data-open="true" data-controls="panel-visibility" type="button">
@@ -185,7 +211,6 @@
185
211
  </h2>
186
212
  </button>
187
213
  </div>
188
-
189
214
  <div id="panel-visibility" class="card-section">
190
215
  <% if params[:parent_id].present? %>
191
216
  <%= form.hidden_field :parent_id, value: @form.parent_id %>
@@ -200,15 +225,6 @@
200
225
  <div class="row column">
201
226
  <%= form.check_box :promoted %>
202
227
  </div>
203
-
204
- <div class="row column" id="private_space">
205
- <%= form.check_box :private_space %>
206
- <p class="help-text"><%= t(".private_notice") %></p>
207
- </div>
208
-
209
- <div class="row column" id="is_transparent">
210
- <%= form.check_box :is_transparent %>
211
- </div>
212
228
  </div>
213
229
  </div>
214
230
 
@@ -1,7 +1,8 @@
1
- <% add_decidim_page_title(t("info", scope: "decidim.admin.menu.assemblies_submenu")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
+
2
3
  <div class="item_show__header">
3
4
  <h1 class="item_show__header-title">
4
- <%= t("info", scope: "decidim.admin.menu.assemblies_submenu") %>
5
+ <%= t(".title") %>
5
6
  </h1>
6
7
  </div>
7
8
 
@@ -1,4 +1,5 @@
1
- <% add_decidim_page_title(t("assemblies", scope: "decidim.admin.titles")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
+
2
3
  <div class="card" id="assemblies">
3
4
 
4
5
  <% if parent_assembly && parent_assembly.self_and_ancestors.length %>
@@ -1,8 +1,8 @@
1
- <% add_decidim_page_title(t("assemblies_deleted", scope: "decidim.admin.titles")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
 
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
- <%= t "assemblies.manage_trash.title", scope: "decidim.admin" %>
5
+ <%= t(".title") %>
6
6
  </h1>
7
7
  </div>
8
8
  <div class="card" id="assemblies">
@@ -1,8 +1,8 @@
1
- <% add_decidim_page_title(t("assemblies.new.title", scope: "decidim.admin")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
 
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
- <%= t "assemblies.new.title", scope: "decidim.admin" %>
5
+ <%= t(".title") %>
6
6
  </h1>
7
7
  </div>
8
8
 
@@ -1,7 +1,7 @@
1
- <% add_decidim_page_title(t("assembly_duplicates.new.title", scope: "decidim.admin")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
3
  <h1 class="item_show__header-title">
4
- <%= t("assembly_duplicates.new.title", scope: "decidim.admin") %>
4
+ <%= t(".title") %>
5
5
  </h1>
6
6
  </div>
7
7
 
@@ -1,8 +1,8 @@
1
- <% add_decidim_page_title(t("assembly_imports.new.title", scope: "decidim.admin")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
 
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
- <%= t("assembly_imports.new.title", scope: "decidim.admin") %>
5
+ <%= t(".title") %>
6
6
  </h1>
7
7
  </div>
8
8
 
@@ -1,7 +1,7 @@
1
- <% add_decidim_page_title(t("assembly_user_roles.edit.title", scope: "decidim.admin")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
3
  <h1 class="item_show__header-title">
4
- <%= t("assembly_user_roles.edit.title", scope: "decidim.admin") %>
4
+ <%= t(".title") %>
5
5
  </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
@@ -1,8 +1,8 @@
1
- <% add_decidim_page_title(t("assembly_user_roles.index.assembly_admins_title", scope: "decidim.admin")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="card" id="assembly_admins">
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
- <%= t("assembly_user_roles.index.assembly_admins_title", scope: "decidim.admin") %>
5
+ <%= t(".title") %>
6
6
  <% if allowed_to? :create, :assembly_user_role %>
7
7
  <%= link_to t("actions.new_assembly_user_role", scope: "decidim.admin"), new_assembly_user_role_path(current_assembly), class: "button button__sm button__secondary new" %>
8
8
  <% end %>
@@ -1,7 +1,7 @@
1
- <% add_decidim_page_title(t("assembly_user_roles.new.title", scope: "decidim.admin")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
3
  <h1 class="item_show__header-title">
4
- <%= t("assembly_user_roles.new.title", scope: "decidim.admin") %>
4
+ <%= t(".title") %>
5
5
  </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
@@ -1,4 +1,4 @@
1
- <h2 class="h5 md:h3 decorator"><%= t("assemblies.order_by_assemblies.assemblies", scope: "layouts.decidim", count: collection.total_count) %></h2>
1
+ <h2 class="h5 md:h3 decorator" aria-live="polite" aria-atomic="true"><%= t("assemblies.order_by_assemblies.assemblies", scope: "layouts.decidim", count: collection.total_count) %></h2>
2
2
 
3
3
  <div class="card__grid-grid">
4
4
  <%= render(collection) %>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <%
8
8
  edit_link(
9
- resource_locator(current_participatory_space).edit,
9
+ decidim_admin_assemblies.edit_assembly_landing_page_path(current_participatory_space),
10
10
  :update,
11
11
  :assembly,
12
12
  assembly: current_participatory_space
@@ -16,9 +16,15 @@ edit_link(
16
16
  <%= render partial: "layouts/decidim/header/follow_space_menu_bar_button", locals: { participatory_space: current_participatory_space } %>
17
17
 
18
18
  <main>
19
- <% if current_participatory_space.private_space? %>
19
+ <% if current_participatory_space.restricted? %>
20
20
  <section class="participatory-space__block-reference alert">
21
- <%= t("private_space", scope: "decidim.assemblies.show") %>
21
+ <%= t("restricted_space", scope: "decidim.participatory_spaces.show") %>
22
+ </section>
23
+ <% end %>
24
+
25
+ <% if current_participatory_space.transparent? %>
26
+ <section class="participatory-space__block-reference alert">
27
+ <%= t("transparent_space", scope: "decidim.participatory_spaces.show") %>
22
28
  </section>
23
29
  <% end %>
24
30
 
@@ -0,0 +1,24 @@
1
+ <% add_decidim_page_title(t("members", scope: "decidim.participatory_space_members.index")) %>
2
+ <% add_decidim_meta_tags(
3
+ title: translated_attribute(current_participatory_space.title),
4
+ resource: current_participatory_space) %>
5
+ <%
6
+ edit_link(
7
+ decidim_admin_assemblies.members_path(current_participatory_space.slug),
8
+ :update,
9
+ :assembly,
10
+ assembly: current_participatory_space
11
+ )
12
+ %>
13
+
14
+ <% content_for :aside do %>
15
+ <h1 class="title-decorator">
16
+ <%= t("members", scope: "decidim.participatory_space_members.index") %>
17
+ </h1>
18
+ <% end %>
19
+
20
+ <%= render layout: "layouts/decidim/shared/layout_two_col" do %>
21
+ <section class="layout-main__section">
22
+ <%= render(collection) %>
23
+ </section>
24
+ <% end %>
@@ -1,4 +1,3 @@
1
- ---
2
1
  ar:
3
2
  activemodel:
4
3
  attributes:
@@ -36,7 +35,6 @@ ar:
36
35
  participatory_processes_ids: العمليات التشاركية ذات الصلة
37
36
  participatory_scope: ما الذي تقرر
38
37
  participatory_structure: كيف تقرر ذلك
39
- private_space: مساحة خاصة
40
38
  promoted: سلط الضوء
41
39
  published_at: نشرت في
42
40
  purpose_of_action: الغرض من العمل
@@ -98,12 +96,9 @@ ar:
98
96
  edit:
99
97
  update: تحديث
100
98
  index:
101
- private: خاص
102
- public: عامة
103
99
  published: نشرت
104
100
  new:
105
101
  create: إنشاء
106
- title: جمعية جديدة
107
102
  update:
108
103
  error: حدثت مشكلة أثناء تحديث هذه الجمعية.
109
104
  success: تم تحديث الجمعية بنجاح.
@@ -129,8 +124,6 @@ ar:
129
124
  success: تمت إزالة المشرف بنجاح من هذا التجميع.
130
125
  edit:
131
126
  update: تحديث
132
- index:
133
- assembly_admins_title: مدراء الجمعية
134
127
  new:
135
128
  create: إنشاء
136
129
  update:
@@ -145,13 +138,11 @@ ar:
145
138
  attachments: المرفقات
146
139
  components: المكونات
147
140
  moderations: الإعتدال
148
- private_users: الأعضاء
149
141
  models:
150
142
  assembly:
151
143
  fields:
152
144
  actions: الإجراءات
153
145
  created_at: تاريخ الإنشاء
154
- private: خاص
155
146
  promoted: سلط الضوء
156
147
  published: نشرت
157
148
  title: العنوان
@@ -173,9 +164,6 @@ ar:
173
164
  admin: مدير
174
165
  collaborator: متعاون
175
166
  moderator: مُشرف
176
- titles:
177
- assemblies: الجمعيات
178
- assemblies_types: أنواع التجمّعات
179
167
  admin_log:
180
168
  assembly:
181
169
  create: "%{user_name} أنشأ الجمعية %{resource_name}"
@@ -205,7 +193,6 @@ ar:
205
193
  admin:
206
194
  assemblies:
207
195
  form:
208
- announcement_help: سيظهر النص الذي أدخلته هنا للمستخدم مباشرة تحت معلومات الجمعية.
209
196
  duration: المدة الزمنية
210
197
  duration_help: إذا كانت مدة هذه الجمعية محدودة ، فحدد تاريخ الانتهاء. خلاف ذلك ، سوف يظهر على أنه غير مسمى.
211
198
  images: الصور
@@ -235,9 +222,6 @@ ar:
235
222
  all: الكل
236
223
  show:
237
224
  title: حول الجمعية
238
- assembly_members:
239
- index:
240
- members: الأعضاء
241
225
  content_blocks:
242
226
  children_assemblies:
243
227
  name: جمعيات
@@ -261,17 +245,9 @@ ar:
261
245
  title: الجمعيات
262
246
  last_activity:
263
247
  new_assembly: 'جمعية جديدة:'
264
- pages:
265
- user_profile:
266
- member_of:
267
- member_of: عضو في
268
248
  show:
269
249
  duration: المدة الزمنية
270
- private_space: هذه جمعية خاصة
271
250
  social_networks_title: زيارة التجمع على
272
- assembly_members:
273
- index:
274
- title: الأعضاء
275
251
  events:
276
252
  assemblies:
277
253
  create_assembly_member:
@@ -295,8 +271,6 @@ ar:
295
271
  value_types:
296
272
  assembly_presenter:
297
273
  not_found: 'لم يتم العثور على التجميع في قاعدة البيانات (المعرف: %{id})'
298
- assembly_type_presenter:
299
- not_found: 'لم يتم العثور على نوع التجمع في قاعدة البيانات (الرقم-المُعرف: %{id})'
300
274
  menu:
301
275
  assemblies: الجمعيات
302
276
  participatory_processes: