decidim-initiatives 0.32.0 → 0.32.2

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/decidim/initiatives/admin/filterable.rb +2 -2
  3. data/app/controllers/concerns/decidim/initiatives/admin/initiative_admin.rb +9 -2
  4. data/app/controllers/concerns/decidim/initiatives/orderable.rb +2 -0
  5. data/app/controllers/decidim/initiatives/admin/application_controller.rb +2 -0
  6. data/app/controllers/decidim/initiatives/admin/committee_requests_controller.rb +1 -1
  7. data/app/controllers/decidim/initiatives/admin/component_share_tokens_controller.rb +2 -0
  8. data/app/controllers/decidim/initiatives/admin/initiative_attachments_controller.rb +2 -0
  9. data/app/controllers/decidim/initiatives/admin/initiative_share_tokens_controller.rb +2 -0
  10. data/app/controllers/decidim/initiatives/admin/initiatives_permissions_controller.rb +12 -0
  11. data/app/controllers/decidim/initiatives/admin/initiatives_type_scopes_controller.rb +1 -1
  12. data/app/controllers/decidim/initiatives/admin/initiatives_types_permissions_controller.rb +12 -2
  13. data/app/controllers/decidim/initiatives/admin/moderations/reports_controller.rb +2 -0
  14. data/app/controllers/decidim/initiatives/admin/moderations_controller.rb +2 -0
  15. data/app/controllers/decidim/initiatives/application_controller.rb +2 -0
  16. data/app/controllers/decidim/initiatives/authorization_create_modals_controller.rb +2 -0
  17. data/app/controllers/decidim/initiatives/authorization_sign_modals_controller.rb +2 -0
  18. data/app/controllers/decidim/initiatives/create_initiative_controller.rb +10 -2
  19. data/app/controllers/decidim/initiatives/initiative_signatures_controller.rb +2 -0
  20. data/app/controllers/decidim/initiatives/versions_controller.rb +2 -2
  21. data/app/permissions/decidim/initiatives/admin/permissions.rb +9 -0
  22. data/app/permissions/decidim/initiatives/permissions.rb +12 -4
  23. data/app/views/decidim/initiatives/create_initiative/_send_to_technical_validation_button.html.erb +1 -1
  24. data/app/views/decidim/initiatives/create_initiative/select_initiative_type.html.erb +0 -1
  25. data/app/views/decidim/initiatives/initiatives/show.html.erb +1 -1
  26. data/config/locales/ca-IT.yml +0 -1
  27. data/config/locales/ca.yml +0 -1
  28. data/config/locales/cs.yml +0 -1
  29. data/config/locales/de.yml +21 -1
  30. data/config/locales/en.yml +0 -1
  31. data/config/locales/es-MX.yml +0 -1
  32. data/config/locales/es-PY.yml +0 -1
  33. data/config/locales/es.yml +0 -1
  34. data/config/locales/eu.yml +47 -48
  35. data/config/locales/fi-plain.yml +0 -1
  36. data/config/locales/fi.yml +1 -2
  37. data/config/locales/fr-CA.yml +36 -0
  38. data/config/locales/fr.yml +36 -0
  39. data/config/locales/gl.yml +435 -11
  40. data/config/locales/ja.yml +0 -1
  41. data/config/locales/ro-RO.yml +0 -1
  42. data/config/locales/sk.yml +0 -1
  43. data/config/locales/sv.yml +22 -3
  44. data/decidim-initiatives.gemspec +1 -1
  45. data/lib/decidim/initiatives/version.rb +1 -1
  46. metadata +13 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f5816a24eff405004468eae43413529b42b134378e51c9c403521dec583dbf9
4
- data.tar.gz: c17b92b77713892747d6b7d70526c8f6bbb96e2996ba5df1e18fce053fe56c89
3
+ metadata.gz: 643de4445a1362acd422a6af7d2a7fdecf58f805f97a7e40aa4744ccbcdf9975
4
+ data.tar.gz: 57533034a94d3434a3b53b237d5cc92f743f51d2887bc50476d97caf9521a7ab
5
5
  SHA512:
6
- metadata.gz: a51a5fb5006f2952cfe295c10b318fc4de92eb655a618de073cc326d447b37cc225c425deb31f10f6591c78032ebd83f1040372cf75e13881de12f8be9de44f3
7
- data.tar.gz: 6aed9d53ddcf754e1822b598cca76aaffc2850ea9f0e16f550846ac8aa2edfc28911fa73614272c0836b35873581c5b78d83bb231f7a78daa591368d319ecbc0
6
+ metadata.gz: 6c36b6147faf211b63f0b16471eec451f9c50069dbb37b35b5073dfe76e312be28cb5d055f96ef2c6700fa5421a07d4b1a4f497650d3f9daa0bdbcc31660c9d5
7
+ data.tar.gz: eaca9e5e4f3d2fce0a2450698b88e051825e8a7427340b38d29b980b4529bbbda3683c899c7164fe18496140f25b00eeff9e4ee7dc8a5b58a604621b8cdc1cef
@@ -38,11 +38,11 @@ module Decidim
38
38
  end
39
39
 
40
40
  def translated_type_id_eq(id)
41
- translated_attribute(Decidim::InitiativesType.find_by(id:).title[I18n.locale.to_s])
41
+ translated_attribute(Decidim::InitiativesType.where(organization: current_organization).find_by(id:)&.title&.[](I18n.locale.to_s))
42
42
  end
43
43
 
44
44
  def translated_decidim_area_id_eq(id)
45
- translated_attribute(Decidim::Area.find_by(id:).name[I18n.locale.to_s])
45
+ translated_attribute(Decidim::Area.where(organization: current_organization).find_by(id:)&.name&.[](I18n.locale.to_s))
46
46
  end
47
47
  end
48
48
  end
@@ -19,8 +19,15 @@ module Decidim
19
19
 
20
20
  participatory_space_admin_layout
21
21
 
22
- alias_method :current_participatory_space, :current_initiative
23
- alias_method :current_participatory_space_manifest, :initiatives_manifest
22
+ helper_method :current_participatory_space, :current_participatory_space_manifest
23
+
24
+ def current_participatory_space
25
+ current_initiative
26
+ end
27
+
28
+ def current_participatory_space_manifest
29
+ initiatives_manifest
30
+ end
24
31
  end
25
32
 
26
33
  private
@@ -11,6 +11,8 @@ module Decidim
11
11
  included do
12
12
  include Decidim::Orderable
13
13
 
14
+ private
15
+
14
16
  # Available orders based on enabled settings
15
17
  def available_orders
16
18
  @available_orders ||= begin
@@ -13,6 +13,8 @@ module Decidim
13
13
  ::Decidim::Initiatives::Permissions,
14
14
  ::Decidim::Admin::Permissions)
15
15
 
16
+ protected
17
+
16
18
  def permissions_context
17
19
  super.merge(
18
20
  current_participatory_space: try(:current_participatory_space)
@@ -43,7 +43,7 @@ module Decidim
43
43
  private
44
44
 
45
45
  def membership_request
46
- @membership_request ||= InitiativesCommitteeMember.where(initiative: current_participatory_space).find(params[:id])
46
+ @membership_request ||= InitiativesCommitteeMember.where(initiative: current_participatory_space).find(params.expect(:id)) # rubocop:disable Decidim/OrganizationScopedFinder -- scoped to current_participatory_space which is organization-scoped
47
47
  end
48
48
  end
49
49
  end
@@ -9,6 +9,8 @@ module Decidim
9
9
  class ComponentShareTokensController < Decidim::Admin::ShareTokensController
10
10
  include InitiativeAdmin
11
11
 
12
+ protected
13
+
12
14
  def resource
13
15
  @resource ||= current_participatory_space.components.find(params[:component_id])
14
16
  end
@@ -10,6 +10,8 @@ module Decidim
10
10
 
11
11
  add_breadcrumb_item_from_menu :admin_initiative_menu
12
12
 
13
+ protected
14
+
13
15
  def after_destroy_path
14
16
  initiative_attachments_path(current_initiative)
15
17
  end
@@ -9,6 +9,8 @@ module Decidim
9
9
  class InitiativeShareTokensController < Decidim::Admin::ShareTokensController
10
10
  include InitiativeAdmin
11
11
 
12
+ protected
13
+
12
14
  def resource
13
15
  current_initiative
14
16
  end
@@ -17,6 +17,18 @@ module Decidim
17
17
  ::Decidim::Initiatives::Permissions,
18
18
  ::Decidim::Admin::Permissions)
19
19
 
20
+ def edit
21
+ enforce_permission_to :update, :initiative, initiative: resource
22
+ super
23
+ end
24
+
25
+ def update
26
+ enforce_permission_to :update, :initiative, initiative: resource
27
+ super
28
+ end
29
+
30
+ protected
31
+
20
32
  def resource
21
33
  current_initiative
22
34
  end
@@ -99,7 +99,7 @@ module Decidim
99
99
  end
100
100
 
101
101
  def current_initiative_type
102
- @current_initiative_type ||= InitiativesType.find(params[:initiatives_type_id])
102
+ @current_initiative_type ||= InitiativesType.where(organization: current_organization).find(params.expect(:initiatives_type_id))
103
103
  end
104
104
 
105
105
  def initiative_type_scope_form
@@ -17,12 +17,22 @@ module Decidim
17
17
  ::Decidim::Initiatives::Permissions,
18
18
  ::Decidim::Admin::Permissions)
19
19
 
20
- def permission_class_chain
21
- ::Decidim.permissions_registry.chain_for(::Decidim::Initiatives::Admin::InitiativesTypesPermissionsController)
20
+ def edit
21
+ enforce_permission_to :update, :initiatives_type, initiatives_type: resource
22
+ super
23
+ end
24
+
25
+ def update
26
+ enforce_permission_to :update, :initiatives_type, initiatives_type: resource
27
+ super
22
28
  end
23
29
 
24
30
  private
25
31
 
32
+ def permission_class_chain
33
+ ::Decidim.permissions_registry.chain_for(::Decidim::Initiatives::Admin::InitiativesTypesPermissionsController)
34
+ end
35
+
26
36
  def set_controller_breadcrumb
27
37
  controller_breadcrumb_items.append(
28
38
  {
@@ -8,6 +8,8 @@ module Decidim
8
8
  class ReportsController < Decidim::Admin::Moderations::ReportsController
9
9
  include InitiativeAdmin
10
10
 
11
+ protected
12
+
11
13
  def permissions_context
12
14
  super.merge(current_participatory_space:)
13
15
  end
@@ -9,6 +9,8 @@ module Decidim
9
9
 
10
10
  add_breadcrumb_item_from_menu :admin_initiative_menu
11
11
 
12
+ protected
13
+
12
14
  def permissions_context
13
15
  super.merge(current_participatory_space:)
14
16
  end
@@ -21,6 +21,8 @@ module Decidim
21
21
  end
22
22
  end
23
23
 
24
+ protected
25
+
24
26
  def permissions_context
25
27
  super.merge(
26
28
  current_participatory_space: try(:current_participatory_space)
@@ -7,6 +7,8 @@ module Decidim
7
7
  layout false
8
8
 
9
9
  def show
10
+ enforce_permission_to :read, :authorization
11
+
10
12
  @initiative_type = Decidim::InitiativesType.find_by(id: params[:slug], organization: current_organization)
11
13
  render template: "decidim/authorization_modals/show"
12
14
  end
@@ -9,6 +9,8 @@ module Decidim
9
9
  layout false
10
10
 
11
11
  def show
12
+ enforce_permission_to :read, :authorization
13
+
12
14
  render template: "decidim/authorization_modals/show"
13
15
  end
14
16
 
@@ -27,13 +27,15 @@ module Decidim
27
27
  before_action :authenticate_user!
28
28
  before_action :ensure_type_exists,
29
29
  only: [:store_initiative_type, :fill_data, :store_data, :promotal_committee, :finish]
30
- before_action :ensure_user_can_create_initiative,
30
+ before_action :enforce_user_can_create_initiative,
31
31
  only: [:fill_data, :store_data, :promotal_committee, :finish]
32
32
  before_action :ensure_initiative_exists, only: [:promotal_committee, :finish]
33
33
 
34
34
  def load_initiative_draft
35
35
  session[:initiative_id] = params[:initiative_id]
36
36
 
37
+ enforce_permission_to :create, :initiative, { initiative_type: }
38
+
37
39
  if current_initiative.validating?
38
40
  redirect_to finish_create_initiative_index_path
39
41
  elsif current_initiative.created?
@@ -45,12 +47,18 @@ module Decidim
45
47
 
46
48
  def select_initiative_type
47
49
  session[:initiative_id] = nil
50
+ session[:type_id] = nil
51
+
52
+ enforce_permission_to :create, :initiative, { initiative_type: }
53
+
48
54
  @form = form(Decidim::Initiatives::SelectInitiativeTypeForm).from_params(params)
49
55
 
50
56
  redirect_to fill_data_create_initiative_index_path if single_initiative_type?
51
57
  end
52
58
 
53
59
  def store_initiative_type
60
+ enforce_permission_to :create, :initiative, { initiative_type: }
61
+
54
62
  @form = form(Decidim::Initiatives::SelectInitiativeTypeForm).from_params(params)
55
63
 
56
64
  if @form.valid?
@@ -136,7 +144,7 @@ module Decidim
136
144
  @membership_request ||= current_initiative.committee_members.find(params[:committee_member_id])
137
145
  end
138
146
 
139
- def ensure_user_can_create_initiative
147
+ def enforce_user_can_create_initiative
140
148
  enforce_permission_to :create, :initiative, { initiative_type: }
141
149
  end
142
150
 
@@ -29,6 +29,8 @@ module Decidim
29
29
  helper_method :initiative_type, :extra_data_legal_information, :sms_step?, :fill_personal_data_step?
30
30
 
31
31
  def index
32
+ enforce_permission_to :sign_initiative, :initiative, initiative: current_initiative, signature_has_steps: signature_has_steps?
33
+
32
34
  redirect_to send(fill_personal_data_step? ? :fill_personal_data_path : :sms_phone_number_path)
33
35
  end
34
36
 
@@ -12,12 +12,12 @@ module Decidim
12
12
  include NeedsInitiative
13
13
  include Decidim::ResourceVersionsConcern
14
14
 
15
+ private
16
+
15
17
  def versioned_resource
16
18
  current_initiative
17
19
  end
18
20
 
19
- private
20
-
21
21
  def current_participatory_space_manifest
22
22
  @current_participatory_space_manifest ||= Decidim.find_participatory_space_manifest(:initiatives)
23
23
  end
@@ -20,6 +20,7 @@ module Decidim
20
20
  initiative_user_action?
21
21
  attachment_action?
22
22
  initiatives_settings_action?
23
+ resource_permission_action?
23
24
 
24
25
  return permission_action
25
26
  end
@@ -174,6 +175,14 @@ module Decidim
174
175
  toggle_allow(user.admin?)
175
176
  end
176
177
 
178
+ def resource_permission_action?
179
+ return unless permission_action.subject == :resource_permission &&
180
+ permission_action.action == :update
181
+ return unless initiative.created?
182
+
183
+ allow!
184
+ end
185
+
177
186
  def moderator_action?
178
187
  return unless permission_action.subject == :moderation
179
188
 
@@ -99,10 +99,18 @@ module Decidim
99
99
  end
100
100
 
101
101
  def creation_enabled?
102
- Decidim::Initiatives.creation_enabled && (
103
- Decidim::Initiatives.do_not_require_authorization ||
104
- UserAuthorizations.for(user).any?) &&
105
- authorized?(:create, permissions_holder: initiative_type)
102
+ return false unless Decidim::Initiatives.creation_enabled
103
+
104
+ # Before the initiative type is selected there is no permissions holder
105
+ # to run the type-specific authorization against. The type-specific
106
+ # check is enforced once the type is known (e.g. when selecting the
107
+ # type or filling the data), so the wizard can render the per-type
108
+ # authorization modals to unverified users.
109
+ return true if initiative_type.blank?
110
+
111
+ return false unless Decidim::Initiatives.do_not_require_authorization || UserAuthorizations.for(user).any?
112
+
113
+ authorized?(:create, permissions_holder: initiative_type)
106
114
  end
107
115
 
108
116
  def request_membership?
@@ -2,7 +2,7 @@
2
2
  <%= link_to t(".button"),
3
3
  decidim_initiatives.send_to_technical_validation_initiative_path(current_initiative),
4
4
  class: "button button__sm md:button__lg button__secondary",
5
- data: { confirm: t(".confirm") } %>
5
+ data: { confirm: t(".confirm"), confirm_icon: "checkbox-circle-line" } %>
6
6
  <% else %>
7
7
  <%= button_tag t(".button"),
8
8
  class: "button button__sm md:button__lg button__secondary",
@@ -22,7 +22,6 @@
22
22
  input_radio_name: "initiative[type_id]",
23
23
  input_radio_value: type.id,
24
24
  show_more_text: t("show_more", scope: "decidim.initiatives.create_initiative.select_initiative_type"),
25
- show_less_text: t("show_less", scope: "decidim.initiatives.create_initiative.select_initiative_type"),
26
25
  disabled: !is_allowed
27
26
  } do %>
28
27
  <p>
@@ -176,7 +176,7 @@ edit_link(
176
176
  <section class="layout-main__section">
177
177
  <div class="content-block__description">
178
178
  <div class="editor-content">
179
- <%= decidim_sanitize_editor translated_attribute(current_initiative.description) %>
179
+ <%= decidim_sanitize_editor_admin translated_attribute(current_initiative.description) %>
180
180
  </div>
181
181
  </div>
182
182
  </section>
@@ -412,7 +412,6 @@ ca-IT:
412
412
  new: Crea una nova iniciativa
413
413
  select: Vull promoure aquesta iniciativa
414
414
  select_initiative_type_help_html: "<p>Les iniciatives ciutadanes són un mitjà a través del qual les participants poden sol·licitar que l'organització, dins de les seves competències, adopti mesures en defensa de l'interès general. Quina iniciativa vols engegar?</p>"
415
- show_less: Mostra menys
416
415
  show_more: Mostra'n més
417
416
  subtitle: Quin tipus d'iniciativa vols promoure?
418
417
  verification_required: Verifica el teu compte per a impulsar la iniciativa
@@ -415,7 +415,6 @@ ca:
415
415
  new: Crea una nova iniciativa
416
416
  select: Vull promoure aquesta iniciativa
417
417
  select_initiative_type_help_html: "<p>Les iniciatives ciutadanes són un mitjà a través del qual les participants poden sol·licitar que l'organització, dins de les seves competències, adopti mesures en defensa de l'interès general. Quina iniciativa vols engegar?</p>"
418
- show_less: Mostra menys
419
418
  show_more: Mostra'n més
420
419
  subtitle: Quin tipus d'iniciativa vols promoure?
421
420
  verification_required: Verifica el teu compte per a impulsar la iniciativa
@@ -421,7 +421,6 @@ cs:
421
421
  new: Vytvořit novou iniciativu
422
422
  select: Chci tuto iniciativu podpořit
423
423
  select_initiative_type_help_html: "<p>Iniciativy jsou prostředkem, který mohou účastníci zasáhnout, aby organizace mohla podniknout kroky na ochranu obecného zájmu. Kterou iniciativu chcete spustit?</p>"
424
- show_less: Zobrazit méně
425
424
  show_more: Zobrazit více
426
425
  subtitle: Jakou iniciativu chcete podporovat?
427
426
  verification_required: Ověřte svůj účet pro podporu této iniciativy
@@ -260,6 +260,7 @@ de:
260
260
  reject: Initiative ablehnen
261
261
  send_to_technical_validation: An technische Validierung senden
262
262
  success: Die Initiative wurde an die technische Validierung gesendet.
263
+ title: Über diese Initiative
263
264
  update: Aktualisieren
264
265
  form:
265
266
  attachments_title: Anhänge
@@ -269,6 +270,7 @@ de:
269
270
  actions_title: Aktion
270
271
  preview: Vorschau
271
272
  print: Drucken
273
+ title: Initiativen
272
274
  initiative_attachments:
273
275
  documents: Unterlagen
274
276
  edit: Bearbeiten
@@ -285,6 +287,7 @@ de:
285
287
  success: Die Initiative wurde erfolgreich aktualisiert.
286
288
  initiatives_settings:
287
289
  edit:
290
+ title: Initiativeneinstellungen
288
291
  update: Aktualisieren
289
292
  form:
290
293
  comments: Am meisten kommentiert
@@ -314,12 +317,15 @@ de:
314
317
  destroy:
315
318
  success: Der Initiativentyp wurde erfolgreich entfernt.
316
319
  edit:
320
+ title: Initiativentyp bearbeiten
317
321
  update: Aktualisieren
318
322
  form:
319
323
  child_scope_threshold_enabled_help_html: 'Diese Einstellung unterstützt keine Offline-Abstimmungen. Es aktiviert Unter-Themenbereiche und arbeitet mit einem Autorisierungs-Handler zusammen, der dem Teilnehmenden einen Themenbereich zuordnet. Stellen Sie sicher, dass Sie diese Autorisierung unten in den Autorisierungseinstellungen auswählen. Hierfür müssen die Themenbereiche auf hierarchische Weise konfiguriert werden: 1 Überthema - N Unterthemen. Weitere Informationen zur Konfiguration finden Sie auf der <a href="https://docs.decidim.org/en/admin/spaces/initiatives/" target="_blank">Dokumentationsseite für Admins von Initiativen.</a>.'
320
324
  only_global_scope_enabled_help_html: Aktivieren Sie diese Einstellung, wenn Sie "Unterthemen-Signaturen" aktiviert haben und den globalen Themenbereich als Ihren Elternbereich konfiguriert haben. Dadurch wird die Auswahl des Initialtyps im Assistenten zur Erstellung der Initiative übersprungen. Weitere Informationen darüber, wie diese Konfiguration funktioniert, finden Sie <a href="https://docs.decidim.org/en/admin/spaces/initiatives/" target="_blank">hier</a>.
321
325
  options: Optionen
322
326
  signature_workflow_settings: Einstellungen zum Unterzeichnungsablauf
327
+ index:
328
+ title: Initiativentypen
323
329
  initiative_type_scopes:
324
330
  title: Bereiche für den Typ der Initiative
325
331
  new:
@@ -409,7 +415,6 @@ de:
409
415
  new: Neue Initiative erstellen
410
416
  select: Ich möchte diese Initiative fördern
411
417
  select_initiative_type_help_html: "<p>Initiativen sind Instrumente, mit dem die Personen eingreifen können, damit die Organisation Aktionen im Namen des Allgemeininteresses durchführen kann. Welche Initiative möchten Sie starten?</p>"
412
- show_less: Weniger anzeigen
413
418
  show_more: Mehr anzeigen
414
419
  subtitle: Welche Initiative wollen Sie bewerben?
415
420
  verification_required: Bestätigen Sie Ihr Konto, um die Initiative zu unterstützen
@@ -432,11 +437,25 @@ de:
432
437
  update: Aktualisieren
433
438
  events:
434
439
  approve_membership_request:
440
+ email_intro: "%{author_name} hat Ihre Bewerbung für das Unterstützungskomitee der Initiative %{resource_title} angenommen."
435
441
  email_outro: 'Sie haben diese Benachrichtigung erhalten, weil Sie sich bei dieser Initiative beworben haben: %{resource_title}'
442
+ email_subject: "%{author_name} hat Ihre Bewerbung für das Unterstützungskomitee angenommen"
443
+ notification_title: <a href="%{author_profile_url}">%{author_name}</a> hat Ihre Bewerbung für das Unterstützungskomitee der Initiative <a href="%{resource_url}">%{resource_title}</a> angenommen.
444
+ create_initiative_event:
445
+ email_intro: "%{author_name}, dem/der Sie folgen, hat eine neue Initiative erstellt. Schauen Sie sie sich an und beteiligen Sie sich:"
446
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
447
+ email_subject: Neue Initiative von %{author_name}
448
+ notification_title: Die Initiative <a href="%{resource_path}">%{resource_title}</a> wurde von <a href="%{author_path}">%{author_name}</a> erstellt.
436
449
  revoke_membership_request:
450
+ email_intro: "%{author_name} hat Ihre Bewerbung für das Unterstützungskomitee der Initiative %{resource_title} abgelehnt."
437
451
  email_outro: 'Sie haben diese Benachrichtigung erhalten, weil Sie sich bei dieser Initiative beworben haben: %{resource_title}.'
452
+ email_subject: "%{author_name} hat Ihre Bewerbung für das Unterstützungskomitee abgelehnt"
453
+ notification_title: <a href="%{author_profile_url}">%{author_name}</a> hat Ihre Bewerbung für das Unterstützungskomitee der Initiative <a href="%{resource_url}">%{resource_title}</a> abgelehnt.
438
454
  spawn_committee_request_event:
455
+ email_intro: "%{applicant_name} hat sich für das Unterstützungskomitee Ihrer Initiative %{resource_title} beworben. Um die Bewerbung anzunehmen oder abzulehnen, öffnen Sie das Bearbeitungsformular Ihrer Initiative."
439
456
  email_outro: 'Sie haben diese Benachrichtigung erhalten, weil Sie der Autor der Initiative %{resource_title} sind'
457
+ email_subject: "%{applicant_name} möchte Ihrer Initiative beitreten"
458
+ notification_title: <a href="%{applicant_profile_url}">%{applicant_name}</a> hat sich für das Unterstützungskomitee Ihrer Initiative <a href="%{resource_url}">%{resource_title}</a> beworben. Um die Bewerbung anzunehmen oder abzulehnen, klicken Sie <a href="%{resource_url}/edit">hier</a>.
440
459
  form:
441
460
  add_attachments: Anhänge hinzufügen
442
461
  add_image: Bild hinzufügen
@@ -530,6 +549,7 @@ de:
530
549
  recent: Neueste zuerst
531
550
  recently_published: Zuletzt veröffentlicht
532
551
  pending_initiatives:
552
+ description: Diese Initiativen sind noch nicht öffentlich. Bitte prüfen Sie sie und reichen Sie sie zur technischen Validierung ein, damit sie veröffentlicht werden können.
533
553
  title: Entwürfe & ausstehende Initiativen
534
554
  print:
535
555
  address: Adresse
@@ -415,7 +415,6 @@ en:
415
415
  new: Create a new initiative
416
416
  select: I want to promote this initiative
417
417
  select_initiative_type_help_html: "<p>Initiatives are a means by which the participants can intervene so that the organization can undertake actions in defence of the general interest. Which initiative do you want to launch?</p>"
418
- show_less: Show less
419
418
  show_more: Show more
420
419
  subtitle: What initiative do you want to promote?
421
420
  verification_required: Verify your account to promote this initiative
@@ -415,7 +415,6 @@ es-MX:
415
415
  new: Crea una nueva iniciativa
416
416
  select: Quiero promover esta iniciativa.
417
417
  select_initiative_type_help_html: "<p>Las iniciativas ciudadanas son un medio a través del cual las participantes pueden solicitar que la organización, dentro de sus competencias, adopte medidas en defensa del interés general. ¿Qué iniciativa quieres poner en marcha?</p>"
418
- show_less: Mostrar menos
419
418
  show_more: Mostrar más
420
419
  subtitle: '¿Qué tipo de iniciativa quieres promover?'
421
420
  verification_required: Verifica tu cuenta para impulsar la iniciativa
@@ -415,7 +415,6 @@ es-PY:
415
415
  new: Crea una nueva iniciativa
416
416
  select: Quiero promover esta iniciativa.
417
417
  select_initiative_type_help_html: "<p>Las iniciativas ciudadanas son un medio a través del cual las participantes pueden solicitar que la organización, dentro de sus competencias, adopte medidas en defensa del interés general. ¿Qué iniciativa quieres poner en marcha?</p>"
418
- show_less: Mostrar menos
419
418
  show_more: Mostrar más
420
419
  subtitle: '¿Qué tipo de iniciativa quieres promover?'
421
420
  verification_required: Verifica tu cuenta para impulsar la iniciativa
@@ -415,7 +415,6 @@ es:
415
415
  new: Crea una nueva iniciativa
416
416
  select: Quiero promover esta iniciativa
417
417
  select_initiative_type_help_html: "<p>Las iniciativas ciudadanas son un medio a través del cual las participantes pueden solicitar que la organización, dentro de sus competencias, adopte medidas en defensa del interés general. ¿Qué iniciativa quieres poner en marcha?</p>"
418
- show_less: Mostrar menos
419
418
  show_more: Mostrar más
420
419
  subtitle: '¿Qué tipo de iniciativa quieres promover?'
421
420
  verification_required: Verifica tu cuenta para impulsar la iniciativa