decidim-core 0.31.0.rc1 → 0.31.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/author/avatar.erb +1 -7
  3. data/app/cells/decidim/author/badge.erb +6 -0
  4. data/app/cells/decidim/author/name.erb +1 -5
  5. data/app/cells/decidim/author/show.erb +47 -15
  6. data/app/cells/decidim/author_cell.rb +10 -0
  7. data/app/cells/decidim/profile/avatar.erb +0 -2
  8. data/app/cells/decidim/profile/badge.erb +3 -3
  9. data/app/cells/decidim/profile/details.erb +2 -1
  10. data/app/cells/decidim/user_activity_cell.rb +6 -1
  11. data/app/helpers/decidim/map_helper.rb +1 -1
  12. data/app/helpers/decidim/menu_helper.rb +8 -2
  13. data/app/mailers/decidim/user_group_mailer.rb +21 -0
  14. data/app/models/decidim/user.rb +2 -2
  15. data/app/packs/src/decidim/controllers/editor/controller.js +4 -1
  16. data/app/packs/src/decidim/controllers/form_filter/controller.js +6 -0
  17. data/app/packs/src/decidim/refactor/moved/check_boxes_tree.js +1 -0
  18. data/app/packs/stylesheets/decidim/_accordion.scss +4 -4
  19. data/app/packs/stylesheets/decidim/_author.scss +15 -1
  20. data/app/packs/stylesheets/decidim/_cards.scss +5 -1
  21. data/app/packs/stylesheets/decidim/_profile.scss +6 -6
  22. data/app/packs/stylesheets/decidim/editor.scss +3 -1
  23. data/app/validators/etiquette_validator.rb +2 -2
  24. data/app/validators/password_validator.rb +3 -1
  25. data/app/views/decidim/application/_document.html.erb +2 -2
  26. data/app/views/decidim/shared/_filters.html.erb +1 -1
  27. data/app/views/decidim/user_group_mailer/notify_deprecation_to_member.html.erb +4 -1
  28. data/app/views/decidim/user_group_mailer/notify_deprecation_to_owner.html.erb +1 -4
  29. data/app/views/decidim/user_group_mailer/notify_user_group_patched.html.erb +21 -0
  30. data/app/views/layouts/decidim/_application.html.erb +1 -1
  31. data/config/locales/ca-IT.yml +26 -16
  32. data/config/locales/ca.yml +26 -16
  33. data/config/locales/cs.yml +6 -7
  34. data/config/locales/de.yml +1 -10
  35. data/config/locales/en.yml +20 -10
  36. data/config/locales/es-MX.yml +18 -8
  37. data/config/locales/es-PY.yml +18 -8
  38. data/config/locales/es.yml +18 -8
  39. data/config/locales/eu.yml +36 -35
  40. data/config/locales/fi-plain.yml +9 -9
  41. data/config/locales/fi.yml +9 -9
  42. data/config/locales/fr-CA.yml +9 -9
  43. data/config/locales/fr.yml +9 -9
  44. data/config/locales/ja.yml +0 -10
  45. data/config/locales/ro-RO.yml +1 -1
  46. data/db/migrate/20250217192438_convert_user_groups_into_users.rb +19 -1
  47. data/lib/decidim/asset_router/storage.rb +8 -8
  48. data/lib/decidim/core/version.rb +1 -1
  49. data/lib/decidim/form_builder.rb +1 -1
  50. data/lib/tasks/upgrade/user_groups_migration.rake +33 -0
  51. metadata +8 -6
@@ -1726,20 +1726,20 @@ fi:
1726
1726
  body_2: Yksinkertaistaaksemme organisaatioiden kokemusta tällä alustalla, käyttäjäryhmät poistetaan alustalta. Käyttäjäryhmäsi profiili on nyt muutettu tavalliseksi osallistujaprofiiliksi.
1727
1727
  greeting: Hei %{name},
1728
1728
  instructions_1: Mikäli sinulla on pääsy kyseiselle sähköpostitilille, tarkasta kyseiseen sähköpostiin saapuneet ohjeet.
1729
- instructions_intro: Olemme lähettäneet ohjeet salasanan asettamiseksi tälle tilillä kyseiseen tiliin liitettyyn sähköpostiosoitteeseen.
1729
+ instructions_2: Mikäli sinulla ei ole pääsyä kyseiselle sähköpostitilille, pyydä kolleegaasi, jolla on pääsy kyseiselle tilille, asettamaan profiilille salasana ja jakamaan se kanssasi.
1730
+ instructions_intro: Ryhmän hallitsija voi kirjautua tälle tilille henkilökohtaisilla tunnuksillaan (sähköpostiosoite ja salasana). Näitä tunnuksia ei tule jakaa kenenkään kanssa. Olemme lähettäneet ohjeet uuden salasanan asettamiseen tälle tunnukselle sähköpostiosoitteeseen %{email}.
1730
1731
  instructions_title: "<strong>Mitä tämä tarkoittaa sinulle?</strong>"
1731
- subject: Tärkeä ilmoitus koskien käyttäjäryhmää, jonka jäsen olet
1732
+ subject: Tärkeä ryhmäprofiilia koskeva päivitys
1732
1733
  notify_deprecation_to_owner:
1733
1734
  body_1: Tämä viesti koskee tärkeää päivitystä käyttäjäryhmät-toiminnossa palvelussa %{organization_name}.
1734
1735
  body_2: Yksinkertaistaaksemme organisaatioiden kokemusta tällä alustalla, käyttäjäryhmät poistetaan alustalta. Käyttäjäryhmäsi <strong>%{name}</strong> profiili on nyt muutettu tavalliseksi osallistujaprofiiliksi.
1735
- body_3: Mikäli haluat jatkossa päästä ryhmäkäyttäjäsi tilille, sinun on asetettava salasana kyseiselle käyttäjätilille.
1736
+ body_3: Mikäli haluat jatkaa ryhmäkäyttäjänä toimimista, ryhmän tilille tulee asettaa salasana. Salasanaa ei tule jakaa kenenkään kanssa.
1736
1737
  greeting: Hei %{name},
1737
- instructions_1: 'Paina alla olevaa linkkiä asettaaksesi salasanan kyseiselle tilille:'
1738
- instructions_2: Syötä kyseiselle lomakkeelle tämä sähköpostiosoite, johon tämä viesti lähetettiin ja lähetä pyyntö.
1739
- instructions_3: Tarkasta saapuneet sähköpostiviestit, missä on tarkemmat ohjeet salasanan asettamiseen.
1740
- instructions_title: "<strong>Mitä sinun täytyy tehdä?</strong>"
1741
- set_password: Aloita salasanan asettaminen
1742
- subject: Tärkeä ilmoitus koskien käyttäjäryhmää
1738
+ instructions_1: 'Määritä tilille salasana seuraavan linkin avulla:'
1739
+ instructions_2: 'Älä jaa näitä tunnuksia kenenkään kanssa.'
1740
+ instructions_title: "<strong>Mitä sinun tulee tehdä</strong>"
1741
+ set_password: Määritä salasana
1742
+ subject: Tärkeä ryhmäprofiilia koskeva päivitys
1743
1743
  user_report_mailer:
1744
1744
  notify:
1745
1745
  body_1: Käyttäjä %{user} on ilmoitettu käyttäjän %{token} toimesta
@@ -1562,20 +1562,20 @@ fr-CA:
1562
1562
  body_2: Dans le cadre de nos efforts pour simplifier l'expérience des organisations, la fonctionnalité "Groupes d'utilisateurs" est dépréciée. Votre profil de groupe d'utilisateurs a maintenant été converti en un profil de simple participant.
1563
1563
  greeting: Cher(ère) %{name},
1564
1564
  instructions_1: Si vous avez accès à ce compte de messagerie, veuillez vérifier votre boîte de réception pour les instructions.
1565
- instructions_intro: Nous avons envoyé des instructions à l'adresse e-mail associée au compte pour définir un nouveau mot de passe pour le profil.
1566
- instructions_title: "<strong>Cce que ça signifie pour vous</strong>"
1567
- subject: Mise à jour importante à propos du groupe d'utilisateurs dont vous êtes membre
1565
+ instructions_2: Sinon, l'un de vos collègues qui a accès devra définir le mot de passe et partager les identifiants de connexion avec vous.
1566
+ instructions_intro: Les membres du groupe partageront désormais l'accès à ce profil en utilisant les identifiants de connexion partagés (email et mot de passe). Nous avons envoyé des instructions à %{email} pour définir un nouveau mot de passe pour le profil.
1567
+ instructions_title: "<strong>Ce que cela signifie pour vous</strong>"
1568
+ subject: Mise à jour importante concernant votre profil de groupe
1568
1569
  notify_deprecation_to_owner:
1569
1570
  body_1: Nous vous contactons pour vous informer d’une mise à jour importante concernant votre profil de groupe sur %{organization_name}.
1570
1571
  body_2: Dans le cadre de nos efforts pour simplifier et améliorer l'expérience des organisations comme la vôtre, nous déprécions la fonctionnalité "Groupes d'utilisateurs". Votre groupe, <strong>%{name}</strong>a été converti en simple compte.
1571
- body_3: Pour continuer à accéder à votre compte, nous avons besoin que vous définissiez un mot de passe.
1572
+ body_3: Pour continuer à accéder à votre compte et partager votre accès, nous avons besoin que vous définissiez un mot de passe. Une fois défini, vous pouvez partager les identifiants de connexion (e-mail et mot de passe) avec n'importe qui.
1572
1573
  greeting: Cher(ère) %{name},
1573
- instructions_1: 'Cliquez sur le lien ci-dessous pour démarrer le processus de définition du mot de passe :'
1574
- instructions_2: Dans le formulaire, entrez l'adresse e-mail à laquelle vous avez reçu ce message et soumettez la demande.
1575
- instructions_3: Consultez votre boîte de réception afin d'obtenir des instructions supplémentaires pour définir votre nouveau mot de passe.
1574
+ instructions_1: 'Cliquez sur le lien ci-dessous pour définir votre mot de passe :'
1575
+ instructions_2: 'Partagez les identifiants de connexion (email: %{email} et le nouveau mot de passe) avec vos collègues.'
1576
1576
  instructions_title: "<strong>Ce que vous devez faire</strong>"
1577
- set_password: Démarrer le processus de définition du mot de passe
1578
- subject: Mise à jour importante à propos du groupe d'utilisateurs
1577
+ set_password: Définissez votre mot de passe
1578
+ subject: Mise à jour importante concernant votre profil de groupe
1579
1579
  user_report_mailer:
1580
1580
  notify:
1581
1581
  body_1: L'utilisateur %{user} a été signalé par %{token}
@@ -1562,20 +1562,20 @@ fr:
1562
1562
  body_2: Dans le cadre de nos efforts pour simplifier l'expérience des organisations, la fonctionnalité "Groupes d'utilisateurs" est dépréciée. Votre profil de groupe d'utilisateurs a maintenant été converti en un profil de simple participant.
1563
1563
  greeting: Cher(ère) %{name},
1564
1564
  instructions_1: Si vous avez accès à ce compte de messagerie, veuillez vérifier votre boîte de réception pour les instructions.
1565
- instructions_intro: Nous avons envoyé des instructions à l'adresse e-mail associée au compte pour définir un nouveau mot de passe pour le profil.
1566
- instructions_title: "<strong>Cce que ça signifie pour vous</strong>"
1567
- subject: Mise à jour importante à propos du groupe d'utilisateurs dont vous êtes membre
1565
+ instructions_2: Sinon, l'un de vos collègues qui a accès devra définir le mot de passe et partager les identifiants de connexion avec vous.
1566
+ instructions_intro: Les membres du groupe partageront désormais l'accès à ce profil en utilisant les identifiants de connexion partagés (email et mot de passe). Nous avons envoyé des instructions à %{email} pour définir un nouveau mot de passe pour le profil.
1567
+ instructions_title: "<strong>Ce que cela signifie pour vous</strong>"
1568
+ subject: Mise à jour importante concernant votre profil de groupe
1568
1569
  notify_deprecation_to_owner:
1569
1570
  body_1: Nous vous contactons pour vous informer d’une mise à jour importante concernant votre profil de groupe sur %{organization_name}.
1570
1571
  body_2: Dans le cadre de nos efforts pour simplifier et améliorer l'expérience des organisations comme la vôtre, nous déprécions la fonctionnalité "Groupes d'utilisateurs". Votre groupe, <strong>%{name}</strong>a été converti en simple compte.
1571
- body_3: Pour continuer à accéder à votre compte, nous avons besoin que vous définissiez un mot de passe.
1572
+ body_3: Pour continuer à accéder à votre compte et partager votre accès, nous avons besoin que vous définissiez un mot de passe. Une fois défini, vous pouvez partager les identifiants de connexion (e-mail et mot de passe) avec n'importe qui.
1572
1573
  greeting: Cher(ère) %{name},
1573
- instructions_1: 'Cliquez sur le lien ci-dessous pour démarrer le processus de définition du mot de passe :'
1574
- instructions_2: Dans le formulaire, entrez l'adresse e-mail à laquelle vous avez reçu ce message et soumettez la demande.
1575
- instructions_3: Consultez votre boîte de réception afin d'obtenir des instructions supplémentaires pour définir votre nouveau mot de passe.
1574
+ instructions_1: 'Cliquez sur le lien ci-dessous pour définir votre mot de passe :'
1575
+ instructions_2: 'Partagez les identifiants de connexion (email: %{email} et le nouveau mot de passe) avec vos collègues.'
1576
1576
  instructions_title: "<strong>Ce que vous devez faire</strong>"
1577
- set_password: Démarrer le processus de définition du mot de passe
1578
- subject: Mise à jour importante à propos du groupe d'utilisateurs
1577
+ set_password: Définissez votre mot de passe
1578
+ subject: Mise à jour importante concernant votre profil de groupe
1579
1579
  user_report_mailer:
1580
1580
  notify:
1581
1581
  body_1: L'utilisateur %{user} a été signalé par %{token}
@@ -1706,20 +1706,10 @@ ja:
1706
1706
  body_2: 組織向けの利用体験を簡素化する取り組みの一環として、「ユーザーグループ」機能は廃止される予定です。あなたのユーザーグループのプロフィールは通常の参加者プロフィールに変更されました。
1707
1707
  greeting: こんにちは %{name} さん、
1708
1708
  instructions_1: そのメールアカウントにアクセスできる場合は、受信トレイに届いている案内をご確認ください。
1709
- instructions_intro: プロファイルの新しいパスワードを設定するために、アカウントに関連付けられているメールアドレスに指示を送信しました。
1710
- instructions_title: "<strong>これがあなたにとって何を意味するか</strong>"
1711
- subject: あなたが所属しているユーザーグループに関する重要な更新
1712
1709
  notify_deprecation_to_owner:
1713
1710
  body_1: '%{organization_name}でのグループプロフィールに関する重要なアップデートについてお知らせするためにご連絡しています。'
1714
1711
  body_2: あなたのような組織向けの利用体験を簡素化・改善する取り組みの一環として、「ユーザーグループ」機能は廃止されます。あなたのグループ<strong>%{name}</strong>は通常のアカウントに変更されました。
1715
- body_3: アカウントに引き続きアクセスするために、パスワードの設定をお願いします。
1716
1712
  greeting: こんにちは %{name} さん、
1717
- instructions_1: '以下のリンクをクリックして、パスワードの設定を開始してください:'
1718
- instructions_2: フォームに、このメッセージを受け取ったメールアドレスを入力し、リクエストを送信してください。
1719
- instructions_3: 新しいパスワードを設定するための詳しい手順が記載されたメールが届いているか、受信トレイをご確認ください。
1720
- instructions_title: "<strong>あなたが行うべきこと</strong>"
1721
- set_password: パスワード設定を開始
1722
- subject: ユーザーグループの重要なアップデート
1723
1713
  user_report_mailer:
1724
1714
  notify:
1725
1715
  body_1: ユーザー %{user} が %{token} によって報告されました
@@ -1381,7 +1381,7 @@ ro:
1381
1381
  body_2: Ca parte a eforturilor noastre de a simplifica experiența organizațiilor, funcționalitatea "Grupuri de utilizatori" va fi înlăturată. Profilul dvs. de utilizator grup a fost acum convertit într-un profil de participant obișnuit.
1382
1382
  greeting: Dragă %{name},
1383
1383
  instructions_1: Dacă aveți acces la acest cont de e-mail, vă rugăm să verificați căsuța poștală pentru instrucțiuni.
1384
- subject: Grupul de utilizatori din care faceți parte are actualizări importante
1384
+ instructions_2: În caz contrar, unul dintre colegii dvs. care are acces va trebui să seteze parola și să partajeze credențialele de conectare cu dvs.
1385
1385
  user_report_mailer:
1386
1386
  notify:
1387
1387
  body_1: Utilizatorul %{user} a fost raportat de %{token}
@@ -2,10 +2,12 @@
2
2
 
3
3
  class ConvertUserGroupsIntoUsers < ActiveRecord::Migration[7.0]
4
4
  class User < ApplicationRecord
5
+ belongs_to :organization, foreign_key: "decidim_organization_id", class_name: "Decidim::Organization"
6
+
5
7
  self.table_name = "decidim_users"
6
8
  self.inheritance_column = nil
7
9
 
8
- scope :new_group, -> { where("extended_data @> ?", Arel.sql({ group: true }.to_json)) }
10
+ scope :new_group, -> { where("extended_data @> ?", { group: true }.to_json) }
9
11
  scope :old_group, -> { where(type: "Decidim::UserGroup") }
10
12
 
11
13
  def verified_at
@@ -14,13 +16,29 @@ class ConvertUserGroupsIntoUsers < ActiveRecord::Migration[7.0]
14
16
  end
15
17
 
16
18
  class UserGroup < ApplicationRecord
19
+ belongs_to :organization, foreign_key: "decidim_organization_id", class_name: "Decidim::Organization"
20
+
17
21
  self.table_name = "decidim_users"
18
22
  self.inheritance_column = nil
19
23
  end
20
24
 
25
+ # Identify if there is another user with the same email in the same organization
26
+ # @param [User] group
27
+ # @return [Boolean]
28
+ def another_user_with_same_email_in_organization?(group)
29
+ User.where.not(id: group.id).exists?(decidim_organization_id: group.decidim_organization_id, email: group.email)
30
+ end
31
+
21
32
  # rubocop:disable Rails/SkipsModelValidations
22
33
  def up
23
34
  User.old_group.find_each do |group|
35
+ if group.email.blank? || another_user_with_same_email_in_organization?(group)
36
+ group.update_attribute(:email, "user_group_#{group.id}@#{group.organization.host}.invalid")
37
+ group.update_attribute(:extended_data, (group.extended_data || {}).merge("patched" => true, "previous_email" => group.email))
38
+
39
+ group.reload
40
+ end
41
+
24
42
  group.update_attribute(:extended_data, (group.extended_data || {}).merge("group" => true))
25
43
  group.update_attribute(:type, "Decidim::User")
26
44
  group.update_attribute(:officialized_at, group.verified_at) if group.verified_at.present?
@@ -44,20 +44,20 @@ module Decidim
44
44
  # @param options The options for the URL that are the normal route options
45
45
  # Rails route helpers accept
46
46
  # @return [String] The URL of the asset
47
- def url(**)
47
+ def url(**options)
48
48
  case asset
49
49
  when ActiveStorage::Attached
50
- ensure_current_host(asset.record, **)
51
- blob_url(**)
50
+ ensure_current_host(asset.record, **options)
51
+ blob_url(**options.except(:host))
52
52
  when ActiveStorage::Blob
53
- blob_url(**)
53
+ blob_url(**options)
54
54
  else # ActiveStorage::VariantWithRecord, ActiveStorage::Variant
55
55
  if blob && blob.attachments.any?
56
- ensure_current_host(blob.attachments.first&.record, **)
57
- representation_url(**)
56
+ ensure_current_host(blob.attachments.first&.record, **options)
57
+ representation_url(**options.except(:host))
58
58
  else
59
- ensure_current_host(nil, **)
60
- representation_url(**, only_path: true)
59
+ ensure_current_host(nil, **options)
60
+ representation_url(**options.except(:host), only_path: true)
61
61
  end
62
62
  end
63
63
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-core version.
5
5
  module Core
6
6
  def self.version
7
- "0.31.0.rc1"
7
+ "0.31.0.rc2"
8
8
  end
9
9
  end
10
10
  end
@@ -204,7 +204,7 @@ module Decidim
204
204
  disabled: options[:disabled],
205
205
  options: editor_options[:editor]
206
206
  }
207
- ) { content_tag(:div, nil, class: "editor-input", style: "height: #{lines}rem") }
207
+ ) { content_tag(:div, nil, class: "editor-input", style: "min-height: #{lines}rem") }
208
208
  template += error_for(name, options) if error?(name)
209
209
  template += editor_upload(editor_image, editor_options[:upload])
210
210
  template.html_safe
@@ -5,6 +5,7 @@ namespace :decidim do
5
5
  namespace :user_groups do
6
6
  desc "Main task to notify users and change references to groups"
7
7
  task remove: [
8
+ :"decidim:upgrade:user_groups:perform_patches_on_emails",
8
9
  :"decidim:upgrade:user_groups:send_reset_password_instructions",
9
10
  :"decidim:upgrade:user_groups:send_user_group_changes_notification_to_members",
10
11
  :"decidim:upgrade:user_groups:transfer_user_groups_authorships",
@@ -12,6 +13,36 @@ namespace :decidim do
12
13
  :"decidim:upgrade:user_groups:remove_groups_notifications"
13
14
  ]
14
15
 
16
+ desc "Patch users migrated from user groups with invalid emails"
17
+ task perform_patches_on_emails: :environment do
18
+ class UserGroupMembership < ApplicationRecord
19
+ self.table_name = "decidim_user_group_memberships"
20
+
21
+ belongs_to :user, class_name: "Decidim::User", foreign_key: :decidim_user_id
22
+ belongs_to :group, class_name: "Decidim::User", foreign_key: :decidim_user_group_id
23
+
24
+ scope :member, -> { where(role: %w(creator admin member)) }
25
+ end
26
+
27
+ Decidim::User.where("extended_data @> ?", { group: true, patched: true }.to_json).where(encrypted_password: "").find_each do |group|
28
+ next if group.blocked?
29
+
30
+ password = Random.alphanumeric(15)
31
+
32
+ group.skip_password_change_notification!
33
+ group.password = password
34
+ group.extended_data = (group.extended_data || {}).merge("patched" => false)
35
+ group.save!
36
+
37
+ UserGroupMembership.where(group:).member.find_each do |membership|
38
+ user = membership.user
39
+ next if user.deleted? || user.blocked? || !user.confirmed?
40
+
41
+ Decidim::UserGroupMailer.notify_user_group_patched(group, user, password).deliver_later
42
+ end
43
+ end
44
+ end
45
+
15
46
  desc "Send reset password instructions to groups"
16
47
  task send_reset_password_instructions: :environment do
17
48
  Decidim::User.user_group.where(encrypted_password: "").find_each do |group|
@@ -104,6 +135,8 @@ namespace :decidim do
104
135
  # rubocop:enable Rails/SkipsModelValidations
105
136
 
106
137
  puts "Transferred authorship in #{a[:model]} with id #{a[:id]} and gid #{a[:gid]} from #{a[:author_type]} with id #{a[:author_id]} to user with id #{a[:group_id]}"
138
+ rescue NameError
139
+ puts "Error on #{a[:id]}"
107
140
  end
108
141
  puts "===== Transfer finished."
109
142
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0.rc1
4
+ version: 0.31.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-09-25 00:00:00.000000000 Z
13
+ date: 2025-10-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: concurrent-ruby
@@ -800,28 +800,28 @@ dependencies:
800
800
  requirements:
801
801
  - - '='
802
802
  - !ruby/object:Gem::Version
803
- version: 0.31.0.rc1
803
+ version: 0.31.0.rc2
804
804
  type: :development
805
805
  prerelease: false
806
806
  version_requirements: !ruby/object:Gem::Requirement
807
807
  requirements:
808
808
  - - '='
809
809
  - !ruby/object:Gem::Version
810
- version: 0.31.0.rc1
810
+ version: 0.31.0.rc2
811
811
  - !ruby/object:Gem::Dependency
812
812
  name: decidim-dev
813
813
  requirement: !ruby/object:Gem::Requirement
814
814
  requirements:
815
815
  - - '='
816
816
  - !ruby/object:Gem::Version
817
- version: 0.31.0.rc1
817
+ version: 0.31.0.rc2
818
818
  type: :development
819
819
  prerelease: false
820
820
  version_requirements: !ruby/object:Gem::Requirement
821
821
  requirements:
822
822
  - - '='
823
823
  - !ruby/object:Gem::Version
824
- version: 0.31.0.rc1
824
+ version: 0.31.0.rc2
825
825
  description: Adds core features so other engines can hook into the framework.
826
826
  email:
827
827
  - josepjaume@gmail.com
@@ -858,6 +858,7 @@ files:
858
858
  - app/cells/decidim/attachments_link_tab_cell.rb
859
859
  - app/cells/decidim/author/avatar.erb
860
860
  - app/cells/decidim/author/avatar_image.erb
861
+ - app/cells/decidim/author/badge.erb
861
862
  - app/cells/decidim/author/cancelled_on.erb
862
863
  - app/cells/decidim/author/comments.erb
863
864
  - app/cells/decidim/author/contact.erb
@@ -2053,6 +2054,7 @@ files:
2053
2054
  - app/views/decidim/user_activities/index.js.erb
2054
2055
  - app/views/decidim/user_group_mailer/notify_deprecation_to_member.html.erb
2055
2056
  - app/views/decidim/user_group_mailer/notify_deprecation_to_owner.html.erb
2057
+ - app/views/decidim/user_group_mailer/notify_user_group_patched.html.erb
2056
2058
  - app/views/decidim/user_report_mailer/notify.html.erb
2057
2059
  - app/views/decidim/user_update_mailer/notify.html.erb
2058
2060
  - app/views/decidim/widgets/_data_picker.html.erb