decidim-assemblies 0.31.5 → 0.32.0.rc2

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 (120) 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/show.html.erb +9 -3
  42. data/app/views/decidim/assemblies/members/index.html.erb +24 -0
  43. data/config/locales/ar.yml +0 -25
  44. data/config/locales/bg.yml +0 -25
  45. data/config/locales/bs-BA.yml +0 -7
  46. data/config/locales/ca-IT.yml +36 -34
  47. data/config/locales/ca.yml +36 -34
  48. data/config/locales/cs.yml +36 -34
  49. data/config/locales/de.yml +25 -33
  50. data/config/locales/el.yml +0 -25
  51. data/config/locales/en.yml +36 -34
  52. data/config/locales/es-MX.yml +36 -34
  53. data/config/locales/es-PY.yml +36 -34
  54. data/config/locales/es.yml +36 -34
  55. data/config/locales/eu.yml +36 -34
  56. data/config/locales/fi-plain.yml +36 -34
  57. data/config/locales/fi.yml +36 -34
  58. data/config/locales/fr-CA.yml +34 -34
  59. data/config/locales/fr.yml +34 -34
  60. data/config/locales/ga-IE.yml +0 -11
  61. data/config/locales/gl.yml +0 -23
  62. data/config/locales/he-IL.yml +0 -10
  63. data/config/locales/hu.yml +0 -25
  64. data/config/locales/id-ID.yml +0 -21
  65. data/config/locales/is-IS.yml +0 -8
  66. data/config/locales/it.yml +0 -27
  67. data/config/locales/ja.yml +23 -34
  68. data/config/locales/ko.yml +0 -8
  69. data/config/locales/lb.yml +0 -23
  70. data/config/locales/lt.yml +0 -24
  71. data/config/locales/lv.yml +0 -24
  72. data/config/locales/nl.yml +0 -25
  73. data/config/locales/no.yml +0 -25
  74. data/config/locales/pl.yml +0 -25
  75. data/config/locales/pt-BR.yml +4 -27
  76. data/config/locales/pt.yml +0 -27
  77. data/config/locales/ro-RO.yml +2 -24
  78. data/config/locales/ru.yml +0 -14
  79. data/config/locales/sk.yml +36 -34
  80. data/config/locales/sl.yml +0 -10
  81. data/config/locales/sq-AL.yml +0 -16
  82. data/config/locales/sr-CS.yml +0 -7
  83. data/config/locales/sv.yml +16 -28
  84. data/config/locales/tr-TR.yml +0 -25
  85. data/config/locales/uk.yml +0 -14
  86. data/config/locales/zh-CN.yml +0 -24
  87. data/config/locales/zh-TW.yml +0 -25
  88. data/db/data/20260104094930_remove_assemblies_types_references.rb +25 -0
  89. data/db/data/20260111185230_replace_legacy_fields_to_access_mode_for_assemblies.rb +25 -0
  90. data/db/data/20260210195653_move_announcement_to_content_block_on_assemblies.rb +40 -0
  91. data/db/migrate/20180226103942_add_parent_child_relation_to_assemblies.rb +4 -4
  92. data/db/migrate/20190215093700_reset_negative_children_count_counters.rb +6 -2
  93. data/db/migrate/20210310120444_add_followable_counter_cache_to_assemblies.rb +6 -2
  94. data/db/migrate/20251112114736_remove_legacy_images_from_assemblies_module.rb +8 -0
  95. data/db/migrate/20251205120000_add_has_members_to_decidim_assemblies.rb +7 -0
  96. data/db/migrate/20260104093601_remove_assemblies_types.rb +12 -0
  97. data/db/migrate/20260111120000_add_access_mode_to_assemblies.rb +11 -0
  98. data/decidim-assemblies.gemspec +8 -9
  99. data/lib/decidim/api/assembly_type.rb +1 -8
  100. data/lib/decidim/assemblies/admin_engine.rb +10 -4
  101. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +5 -0
  102. data/lib/decidim/assemblies/engine.rb +26 -42
  103. data/lib/decidim/assemblies/menu.rb +5 -5
  104. data/lib/decidim/assemblies/participatory_space.rb +0 -2
  105. data/lib/decidim/assemblies/seeds.rb +1 -2
  106. data/lib/decidim/assemblies/test/factories.rb +8 -20
  107. data/lib/decidim/assemblies/version.rb +1 -1
  108. metadata +25 -30
  109. data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +0 -19
  110. data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +0 -17
  111. data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +0 -13
  112. data/app/controllers/decidim/assemblies/admin/participatory_space_private_users_controller.rb +0 -22
  113. data/app/controllers/decidim/assemblies/admin/participatory_space_private_users_csv_imports_controller.rb +0 -22
  114. data/app/forms/decidim/assemblies/admin/assemblies_type_form.rb +0 -17
  115. data/app/models/decidim/assemblies_type.rb +0 -27
  116. data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +0 -43
  117. data/app/presenters/decidim/log/value_types/assembly_type_presenter.rb +0 -29
  118. data/app/queries/decidim/assemblies/filtered_assemblies.rb +0 -22
  119. data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +0 -9
  120. 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">
@@ -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 %>
@@ -36,7 +36,6 @@ ar:
36
36
  participatory_processes_ids: العمليات التشاركية ذات الصلة
37
37
  participatory_scope: ما الذي تقرر
38
38
  participatory_structure: كيف تقرر ذلك
39
- private_space: مساحة خاصة
40
39
  promoted: سلط الضوء
41
40
  published_at: نشرت في
42
41
  purpose_of_action: الغرض من العمل
@@ -98,12 +97,9 @@ ar:
98
97
  edit:
99
98
  update: تحديث
100
99
  index:
101
- private: خاص
102
- public: عامة
103
100
  published: نشرت
104
101
  new:
105
102
  create: إنشاء
106
- title: جمعية جديدة
107
103
  update:
108
104
  error: حدثت مشكلة أثناء تحديث هذه الجمعية.
109
105
  success: تم تحديث الجمعية بنجاح.
@@ -129,8 +125,6 @@ ar:
129
125
  success: تمت إزالة المشرف بنجاح من هذا التجميع.
130
126
  edit:
131
127
  update: تحديث
132
- index:
133
- assembly_admins_title: مدراء الجمعية
134
128
  new:
135
129
  create: إنشاء
136
130
  update:
@@ -145,13 +139,11 @@ ar:
145
139
  attachments: المرفقات
146
140
  components: المكونات
147
141
  moderations: الإعتدال
148
- private_users: الأعضاء
149
142
  models:
150
143
  assembly:
151
144
  fields:
152
145
  actions: الإجراءات
153
146
  created_at: تاريخ الإنشاء
154
- private: خاص
155
147
  promoted: سلط الضوء
156
148
  published: نشرت
157
149
  title: العنوان
@@ -173,9 +165,6 @@ ar:
173
165
  admin: مدير
174
166
  collaborator: متعاون
175
167
  moderator: مُشرف
176
- titles:
177
- assemblies: الجمعيات
178
- assemblies_types: أنواع التجمّعات
179
168
  admin_log:
180
169
  assembly:
181
170
  create: "%{user_name} أنشأ الجمعية %{resource_name}"
@@ -205,7 +194,6 @@ ar:
205
194
  admin:
206
195
  assemblies:
207
196
  form:
208
- announcement_help: سيظهر النص الذي أدخلته هنا للمستخدم مباشرة تحت معلومات الجمعية.
209
197
  duration: المدة الزمنية
210
198
  duration_help: إذا كانت مدة هذه الجمعية محدودة ، فحدد تاريخ الانتهاء. خلاف ذلك ، سوف يظهر على أنه غير مسمى.
211
199
  images: الصور
@@ -235,9 +223,6 @@ ar:
235
223
  all: الكل
236
224
  show:
237
225
  title: حول الجمعية
238
- assembly_members:
239
- index:
240
- members: الأعضاء
241
226
  content_blocks:
242
227
  children_assemblies:
243
228
  name: جمعيات
@@ -261,17 +246,9 @@ ar:
261
246
  title: الجمعيات
262
247
  last_activity:
263
248
  new_assembly: 'جمعية جديدة:'
264
- pages:
265
- user_profile:
266
- member_of:
267
- member_of: عضو في
268
249
  show:
269
250
  duration: المدة الزمنية
270
- private_space: هذه جمعية خاصة
271
251
  social_networks_title: زيارة التجمع على
272
- assembly_members:
273
- index:
274
- title: الأعضاء
275
252
  events:
276
253
  assemblies:
277
254
  create_assembly_member:
@@ -295,8 +272,6 @@ ar:
295
272
  value_types:
296
273
  assembly_presenter:
297
274
  not_found: 'لم يتم العثور على التجميع في قاعدة البيانات (المعرف: %{id})'
298
- assembly_type_presenter:
299
- not_found: 'لم يتم العثور على نوع التجمع في قاعدة البيانات (الرقم-المُعرف: %{id})'
300
275
  menu:
301
276
  assemblies: الجمعيات
302
277
  participatory_processes:
@@ -36,7 +36,6 @@ bg:
36
36
  participatory_processes_ids: Свързани процеси за участие
37
37
  participatory_scope: Какво е решено
38
38
  participatory_structure: Как е решено
39
- private_space: Частно пространство
40
39
  promoted: Акцентирано
41
40
  published_at: Публикувано на
42
41
  purpose_of_action: Цел на действието
@@ -93,13 +92,10 @@ bg:
93
92
  edit:
94
93
  update: Актуализация
95
94
  index:
96
- private: Частни
97
- public: Публично
98
95
  published: Публикувано
99
96
  unpublished: Непубликувано
100
97
  new:
101
98
  create: Създаване
102
- title: Ново събрание
103
99
  update:
104
100
  error: Възникна проблем при актуализирането на това събрание.
105
101
  success: Събранието беше актуализирано успешно.
@@ -125,11 +121,8 @@ bg:
125
121
  success: Администраторът беше премахнат успешно от това събрание.
126
122
  edit:
127
123
  update: Актуализация
128
- index:
129
- assembly_admins_title: Администратори на събранието
130
124
  new:
131
125
  create: Създаване
132
- title: Нов администратор на събранието
133
126
  update:
134
127
  error: Възникна проблем при актуализирането на администратор за това събрание.
135
128
  success: Администраторът беше актуализиран успешно за това събрание.
@@ -151,14 +144,12 @@ bg:
151
144
  components: Компоненти
152
145
  info: Относно това събрание
153
146
  moderations: Модерации
154
- private_users: Членове
155
147
  see_assembly: Вижте събранието
156
148
  models:
157
149
  assembly:
158
150
  fields:
159
151
  actions: Активности
160
152
  created_at: Създадено на
161
- private: Частни
162
153
  promoted: Акцентирано
163
154
  published: Публикувано
164
155
  title: Заглавие
@@ -180,9 +171,6 @@ bg:
180
171
  admin: Администратор
181
172
  collaborator: Сътрудник
182
173
  moderator: Модератор
183
- titles:
184
- assemblies: Събрания
185
- assemblies_types: Типове събрания
186
174
  admin_log:
187
175
  assembly:
188
176
  create: "%{user_name} създаде събранието %{resource_name}"
@@ -212,7 +200,6 @@ bg:
212
200
  admin:
213
201
  assemblies:
214
202
  form:
215
- announcement_help: Текстът, който въвеждате тук, ще бъде показан на потребителя точно под информацията за събранието.
216
203
  duration: Продължителност
217
204
  duration_help: Ако продължителността на това събрание е ограничена, изберете крайната дата. В противен случай ще се показва като неограничено във времето.
218
205
  images: Изображения
@@ -263,9 +250,6 @@ bg:
263
250
  type: Тип
264
251
  show:
265
252
  title: Относно това събрание
266
- assembly_members:
267
- index:
268
- members: Членове
269
253
  content_blocks:
270
254
  children_assemblies:
271
255
  name: Събрания
@@ -300,16 +284,9 @@ bg:
300
284
  highlighted_assemblies:
301
285
  active_spaces: Активни събрания
302
286
  see_all_spaces: Вижте всички събрания
303
- user_profile:
304
- member_of:
305
- member_of: Член на
306
287
  show:
307
288
  duration: Продължителност
308
- private_space: Това е частно събрание
309
289
  social_networks_title: Посетете събранието на
310
- assembly_members:
311
- index:
312
- title: Членове
313
290
  events:
314
291
  assemblies:
315
292
  create_assembly_member:
@@ -333,8 +310,6 @@ bg:
333
310
  value_types:
334
311
  assembly_presenter:
335
312
  not_found: 'Събранието не беше намерено в базата данни (Идент. №: %{id})'
336
- assembly_type_presenter:
337
- not_found: 'Типът събрание не бе намерен в базата данни (Идент. №: %{id})'
338
313
  menu:
339
314
  assemblies: Събрания
340
315
  participatory_processes: