decidim-blogs 0.29.2 → 0.30.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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/blogs/content_blocks/highlighted_posts_cell.rb +0 -3
  3. data/app/commands/decidim/blogs/create_post.rb +35 -0
  4. data/app/commands/decidim/blogs/update_post.rb +21 -0
  5. data/app/controllers/decidim/blogs/admin/posts_controller.rb +12 -9
  6. data/app/controllers/decidim/blogs/posts_controller.rb +61 -1
  7. data/app/forms/decidim/blogs/post_form.rb +52 -0
  8. data/app/helpers/decidim/blogs/posts_helper.rb +5 -0
  9. data/app/helpers/decidim/blogs/posts_select_helper.rb +32 -0
  10. data/app/models/decidim/blogs/post.rb +2 -1
  11. data/app/packs/stylesheets/blogs.scss +0 -20
  12. data/app/permissions/decidim/blog/permissions.rb +85 -2
  13. data/app/presenters/decidim/blogs/admin_log/post_presenter.rb +1 -1
  14. data/app/presenters/decidim/blogs/post_presenter.rb +25 -1
  15. data/app/views/decidim/blogs/admin/posts/_actions.html.erb +21 -0
  16. data/app/views/decidim/blogs/admin/posts/_post-tr.html.erb +25 -0
  17. data/app/views/decidim/blogs/admin/posts/_posts-thead.html.erb +9 -0
  18. data/app/views/decidim/blogs/admin/posts/index.html.erb +16 -55
  19. data/app/views/decidim/blogs/admin/posts/manage_trash.html.erb +20 -0
  20. data/app/views/decidim/blogs/posts/_actions.html.erb +7 -14
  21. data/app/views/decidim/blogs/posts/_form.html.erb +11 -0
  22. data/app/views/decidim/blogs/posts/_menu_actions.html.erb +21 -0
  23. data/app/views/decidim/blogs/posts/_schema_org_blog_posting_post.html.erb +3 -0
  24. data/app/views/decidim/blogs/posts/edit.html.erb +21 -0
  25. data/app/views/decidim/blogs/posts/index.html.erb +16 -1
  26. data/app/views/decidim/blogs/posts/new.html.erb +21 -0
  27. data/app/views/decidim/blogs/posts/show.html.erb +15 -6
  28. data/config/locales/ar.yml +0 -1
  29. data/config/locales/bg.yml +0 -3
  30. data/config/locales/ca.yml +58 -3
  31. data/config/locales/cs.yml +39 -4
  32. data/config/locales/de.yml +58 -3
  33. data/config/locales/el.yml +0 -3
  34. data/config/locales/en.yml +58 -3
  35. data/config/locales/es-MX.yml +58 -3
  36. data/config/locales/es-PY.yml +58 -3
  37. data/config/locales/es.yml +58 -3
  38. data/config/locales/eu.yml +58 -3
  39. data/config/locales/fi-plain.yml +39 -4
  40. data/config/locales/fi.yml +39 -4
  41. data/config/locales/fr-CA.yml +32 -2
  42. data/config/locales/fr.yml +32 -2
  43. data/config/locales/gl.yml +0 -1
  44. data/config/locales/hu.yml +0 -3
  45. data/config/locales/ja.yml +57 -2
  46. data/config/locales/kaa.yml +0 -1
  47. data/config/locales/ko.yml +0 -2
  48. data/config/locales/lt.yml +0 -3
  49. data/config/locales/nl.yml +0 -1
  50. data/config/locales/no.yml +0 -1
  51. data/config/locales/pl.yml +0 -3
  52. data/config/locales/pt-BR.yml +0 -3
  53. data/config/locales/ro-RO.yml +20 -1
  54. data/config/locales/ru.yml +0 -3
  55. data/config/locales/sq-AL.yml +0 -3
  56. data/config/locales/sv.yml +58 -3
  57. data/config/locales/zh-TW.yml +0 -3
  58. data/db/migrate/20200827153709_add_commentable_counter_cache_to_posts.rb +1 -1
  59. data/db/migrate/20210310120514_add_followable_counter_cache_to_blogs.rb +1 -1
  60. data/db/migrate/20240828103324_add_deleted_at_to_decidim_blogs_posts.rb +8 -0
  61. data/decidim-blogs.gemspec +1 -1
  62. data/lib/decidim/api/blogs_type.rb +4 -5
  63. data/lib/decidim/api/post_type.rb +2 -2
  64. data/lib/decidim/blogs/admin_engine.rb +7 -1
  65. data/lib/decidim/blogs/component.rb +27 -0
  66. data/lib/decidim/blogs/engine.rb +1 -1
  67. data/lib/decidim/blogs/post_serializer.rb +70 -0
  68. data/lib/decidim/blogs/schema_org_blog_posting_post_serializer.rb +81 -0
  69. data/lib/decidim/blogs/test/factories.rb +9 -0
  70. data/lib/decidim/blogs/version.rb +1 -1
  71. data/lib/decidim/blogs.rb +2 -0
  72. metadata +34 -18
@@ -18,11 +18,12 @@ fr-CA:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Créer un article comme
21
- confirm_destroy: Êtes-vous sûr(e) de vouloir supprimer cet article ?
22
- destroy: Supprimer
21
+ confirm_delete_post: Êtes-vous sûr(e) de vouloir supprimer cet article ?
22
+ deleted_posts_info: Les articles supprimés peuvent être restaurés depuis la corbeille.
23
23
  edit: Modifier
24
24
  new: Nouvel article
25
25
  title: Actions
26
+ view_deleted_posts: Voir les articles supprimés
26
27
  admin:
27
28
  posts:
28
29
  create:
@@ -36,6 +37,8 @@ fr-CA:
36
37
  index:
37
38
  not_published_yet: Pas encore publié.
38
39
  title: Articles
40
+ manage_trash:
41
+ title: Articles supprimés
39
42
  new:
40
43
  create: Créer
41
44
  title: Créer un article
@@ -63,11 +66,28 @@ fr-CA:
63
66
  published_at: Date de publication
64
67
  title: Titre
65
68
  posts:
69
+ edit:
70
+ back: Retour à l'article
71
+ button: Mettre à jour
72
+ title: Modifier l'article
73
+ form:
74
+ author_id: Auteur
75
+ body: Corps de texte
76
+ title: Titre
66
77
  index:
67
78
  count:
68
79
  one: "%{count} article"
69
80
  other: "%{count} articles"
70
81
  empty: Il n'y a pas encore d'articles.
82
+ new_post: Nouvel article
83
+ menu_actions:
84
+ button_destroy: Supprimer l'article
85
+ button_destroy_confirm: Êtes-vous sûr(e) de vouloir supprimer cet article ?
86
+ button_edit: Modifier l'article
87
+ new:
88
+ back: Retour aux articles
89
+ button: Créer
90
+ title: Créer un nouvel article
71
91
  components:
72
92
  blogs:
73
93
  actions:
@@ -82,6 +102,7 @@ fr-CA:
82
102
  announcement: Annonce
83
103
  comments_enabled: Activer le module de commentaire
84
104
  comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut)
105
+ creation_enabled_for_participants: Les participants peuvent créer des articles
85
106
  step:
86
107
  announcement: Annonce
87
108
  comments_blocked: Commentaires désactivés
@@ -94,5 +115,14 @@ fr-CA:
94
115
  email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Vous pouvez le retirer du lien précédent.
95
116
  email_subject: Nouvel article publié dans %{participatory_space_title}
96
117
  notification_title: L'article <a href="%{resource_path}">%{resource_title}</a> a été publié dans %{participatory_space_title}
118
+ open_data:
119
+ help:
120
+ post_comments:
121
+ alignment: Si ce commentaire était pour, contre ou neutre
122
+ author: Le nom du participant qui a fait ce commentaire
123
+ body: Le commentaire lui-même
124
+ commentable_id: L'identifiant unique du commentaire
125
+ created_at: La date de création de ce commentaire
126
+ id: L'id de ce commentaire
97
127
  statistics:
98
128
  posts_count: Publications
@@ -18,11 +18,12 @@ fr:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Créer un article en tant que
21
- confirm_destroy: Êtes-vous sûr(e) de vouloir supprimer cet article ?
22
- destroy: Supprimer
21
+ confirm_delete_post: Êtes-vous sûr(e) de vouloir supprimer cet article ?
22
+ deleted_posts_info: Les articles supprimés peuvent être restaurés depuis la corbeille.
23
23
  edit: Modifier
24
24
  new: Nouvel article
25
25
  title: Actions
26
+ view_deleted_posts: Voir les articles supprimés
26
27
  admin:
27
28
  posts:
28
29
  create:
@@ -36,6 +37,8 @@ fr:
36
37
  index:
37
38
  not_published_yet: Pas encore publié.
38
39
  title: Articles
40
+ manage_trash:
41
+ title: Articles supprimés
39
42
  new:
40
43
  create: Créer
41
44
  title: Créer un article
@@ -63,11 +66,28 @@ fr:
63
66
  published_at: Date de publication
64
67
  title: Titre
65
68
  posts:
69
+ edit:
70
+ back: Retour à l'article
71
+ button: Mettre à jour
72
+ title: Modifier l'article
73
+ form:
74
+ author_id: Auteur
75
+ body: Corps de texte
76
+ title: Titre
66
77
  index:
67
78
  count:
68
79
  one: "%{count} article"
69
80
  other: "%{count} articles"
70
81
  empty: Il n'y a pas encore d'articles.
82
+ new_post: Nouvel article
83
+ menu_actions:
84
+ button_destroy: Supprimer l'article
85
+ button_destroy_confirm: Êtes-vous sûr(e) de vouloir supprimer cet article ?
86
+ button_edit: Modifier l'article
87
+ new:
88
+ back: Retour aux articles
89
+ button: Créer
90
+ title: Créer un nouvel article
71
91
  components:
72
92
  blogs:
73
93
  actions:
@@ -82,6 +102,7 @@ fr:
82
102
  announcement: Annonce
83
103
  comments_enabled: Activer le module de commentaire
84
104
  comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut)
105
+ creation_enabled_for_participants: Les participants peuvent créer des articles
85
106
  step:
86
107
  announcement: Annonce
87
108
  comments_blocked: Commentaires désactivés
@@ -94,5 +115,14 @@ fr:
94
115
  email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”.
95
116
  email_subject: Nouvel article publié dans %{participatory_space_title}
96
117
  notification_title: L'article <a href="%{resource_path}">%{resource_title}</a> a été publié dans %{participatory_space_title}
118
+ open_data:
119
+ help:
120
+ post_comments:
121
+ alignment: Si ce commentaire était pour, contre ou neutre
122
+ author: Le nom du participant qui a fait ce commentaire
123
+ body: Le commentaire lui-même
124
+ commentable_id: L'identifiant unique du commentaire
125
+ created_at: La date de création de ce commentaire
126
+ id: L'id de ce commentaire
97
127
  statistics:
98
128
  posts_count: Articles
@@ -12,7 +12,6 @@ gl:
12
12
  blogs:
13
13
  actions:
14
14
  author_id: Crear publicación como
15
- destroy: Eliminar
16
15
  edit: Editar
17
16
  new: Nova publicación
18
17
  title: Accións
@@ -18,7 +18,6 @@ hu:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Bejegyzés létrehozása
21
- destroy: Törlés
22
21
  edit: Szerkesztés
23
22
  new: Új bejegyzés
24
23
  title: Műveletek
@@ -27,8 +26,6 @@ hu:
27
26
  create:
28
27
  invalid: Probléma történt a bejegyzés létrehozásakor.
29
28
  success: Bejegyzés sikeresen létrehozva.
30
- destroy:
31
- success: Bejegyzés sikeresen törölve.
32
29
  edit:
33
30
  save: Frissítés
34
31
  title: Bejegyzés szerkesztése
@@ -14,14 +14,19 @@ ja:
14
14
  decidim/blogs/post:
15
15
  other: 投稿
16
16
  decidim:
17
+ admin:
18
+ admin_log:
19
+ changeset:
20
+ posts: 投稿
17
21
  blogs:
18
22
  actions:
19
23
  author_id: 次のように投稿を作成
20
- confirm_destroy: この投稿を削除してもよろしいですか?
21
- destroy: 削除
24
+ confirm_delete_post: この投稿を削除してもよろしいですか?
25
+ deleted_posts_info: 削除された投稿はゴミ箱から復元できます。
22
26
  edit: 編集
23
27
  new: 新規投稿
24
28
  title: アクション
29
+ view_deleted_posts: 削除された投稿を表示
25
30
  admin:
26
31
  posts:
27
32
  create:
@@ -35,6 +40,8 @@ ja:
35
40
  index:
36
41
  not_published_yet: まだ公開されていません。
37
42
  title: 投稿
43
+ manage_trash:
44
+ title: 削除された投稿
38
45
  new:
39
46
  create: 作成
40
47
  title: 投稿を作成
@@ -45,6 +52,8 @@ ja:
45
52
  post:
46
53
  create: "%{user_name} が %{space_name} でブログ投稿 %{resource_name} を作成しました"
47
54
  delete: "%{user_name} がブログ投稿 %{resource_name} を %{space_name} から削除しました"
55
+ restore: "%{user_name} が %{space_name} のブログ投稿 %{resource_name} を復元しました"
56
+ soft_delete: "%{user_name} は %{space_name} のブログ投稿 %{resource_name} をゴミ箱に移動しました"
48
57
  update: "%{user_name} が %{space_name} のブログ投稿 %{resource_name} を更新しました"
49
58
  content_blocks:
50
59
  highlighted_posts:
@@ -62,10 +71,27 @@ ja:
62
71
  published_at: 公開時刻
63
72
  title: タイトル
64
73
  posts:
74
+ edit:
75
+ back: 投稿に戻る
76
+ button: 更新
77
+ title: 投稿を編集
78
+ form:
79
+ author_id: 作成者
80
+ body: 本文
81
+ title: タイトル
65
82
  index:
66
83
  count:
67
84
  other: "%{count} 件の投稿"
68
85
  empty: 投稿はまだありません。
86
+ new_post: 新規投稿
87
+ menu_actions:
88
+ button_destroy: 投稿の削除
89
+ button_destroy_confirm: この投稿を削除してもよろしいですか?
90
+ button_edit: 投稿を編集
91
+ new:
92
+ back: 投稿に戻る
93
+ button: 作成
94
+ title: 新しい投稿を作成
69
95
  components:
70
96
  blogs:
71
97
  actions:
@@ -80,6 +106,7 @@ ja:
80
106
  announcement: お知らせ
81
107
  comments_enabled: コメントを有効にする
82
108
  comments_max_length: コメント最大長 (デフォルト値は 0 のまま)
109
+ creation_enabled_for_participants: 参加者は投稿を作成できます
83
110
  step:
84
111
  announcement: お知らせ
85
112
  comments_blocked: コメントをブロック
@@ -92,5 +119,33 @@ ja:
92
119
  email_outro: '「%{participatory_space_title}」をフォローしているため、この通知を受け取りました。前のリンクからこの通知をアンフォローすることができます。'
93
120
  email_subject: '%{participatory_space_title} に新しい投稿が公開されました'
94
121
  notification_title: '%{participatory_space_title} で投稿 <a href="%{resource_path}">%{resource_title}</a> が公開されました'
122
+ open_data:
123
+ help:
124
+ post_comments:
125
+ alignment: このコメントが好意的、敵対的、中立的であった場合
126
+ author: このコメントを作成した参加者の名前
127
+ body: コメントそのもの
128
+ commentable_id: コメント対象の固有ID
129
+ commentable_type: コメント対象の種別 (結果、提案など)
130
+ created_at: コメントの作成日時
131
+ depth: コメントがコメントツリーのどこに位置しているか(回答、または回答の回答である場合)
132
+ id: コメントのID
133
+ locale: コメントを残した参加者の使っていたロケール(言語)
134
+ root_commentable_url: コメントに関連するリソースの URL
135
+ user_group: コメントを作成したユーザーグループの名前 (もしあれば)
136
+ posts:
137
+ author: 作者の情報
138
+ body: 投稿の本文
139
+ comments_count: 投稿のコメント数
140
+ component: ポストが属するコンポーネント
141
+ created_at: この投稿の作成日時
142
+ endorsements_count: 投稿のオススメ数
143
+ follows_count: 投稿のフォロー数
144
+ id: 投稿の固有ID
145
+ participatory_space: この投稿が所属するスペース(参加型プロセス、参加スペースなど)
146
+ published_at: この投稿の公開日時
147
+ title: 投稿のタイトル
148
+ updated_at: この投稿が更新された日時
149
+ url: この投稿の URL
95
150
  statistics:
96
151
  posts_count: 投稿
@@ -3,7 +3,6 @@ kaa:
3
3
  decidim:
4
4
  blogs:
5
5
  actions:
6
- destroy: Óshiriw
7
6
  edit: Ózgeris kirgiziw
8
7
  title: Háreketler
9
8
  admin:
@@ -16,8 +16,6 @@ ko:
16
16
  create:
17
17
  invalid: 게시물을 생성하는 도중 문제가 생겼습니다.
18
18
  success: 게시물이 성공적으로 생성되었습니다.
19
- destroy:
20
- success: 게시물이 성공적으로 삭제되었습니다.
21
19
  edit:
22
20
  save: 업데이트
23
21
  content_blocks:
@@ -20,7 +20,6 @@ lt:
20
20
  blogs:
21
21
  actions:
22
22
  author_id: Sukurti įrašą kaip
23
- destroy: Ištrinti
24
23
  edit: Redaguoti
25
24
  new: Naujas įrašas
26
25
  title: Veiksmai
@@ -29,8 +28,6 @@ lt:
29
28
  create:
30
29
  invalid: Kuriant šį įrašą iškilo problema.
31
30
  success: Įrašas sukurtas sėkmingai.
32
- destroy:
33
- success: Įrašas pašalintas.
34
31
  edit:
35
32
  save: Atnaujinimas
36
33
  title: Redaguoti publikaciją
@@ -12,7 +12,6 @@ nl:
12
12
  blogs:
13
13
  actions:
14
14
  author_id: Bericht aanmaken als
15
- destroy: Verwijderen
16
15
  edit: Bewerk
17
16
  new: Nieuwe blogpost
18
17
  title: acties
@@ -12,7 +12,6 @@
12
12
  blogs:
13
13
  actions:
14
14
  author_id: Opprett innlegg som
15
- destroy: Slett
16
15
  edit: Editar
17
16
  new: Nytt innlegg
18
17
  title: Handlinger
@@ -20,7 +20,6 @@ pl:
20
20
  blogs:
21
21
  actions:
22
22
  author_id: Utwórz wpis jako
23
- destroy: Usuń
24
23
  edit: Edytuj
25
24
  new: Nowy wpis
26
25
  title: Działania
@@ -29,8 +28,6 @@ pl:
29
28
  create:
30
29
  invalid: Podczas tworzenia tego posta wystąpił błąd.
31
30
  success: Post został utworzony.
32
- destroy:
33
- success: Post został usunięty.
34
31
  edit:
35
32
  save: Aktualizuj
36
33
  title: Edytuj wpis
@@ -18,7 +18,6 @@ pt-BR:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Criar publicação como
21
- destroy: Excluir
22
21
  edit: Editar
23
22
  new: Nova postagem
24
23
  title: Ações
@@ -27,8 +26,6 @@ pt-BR:
27
26
  create:
28
27
  invalid: Houve um problema ao criar esta postagem.
29
28
  success: Post criado com sucesso.
30
- destroy:
31
- success: Postagem excluída com sucesso.
32
29
  edit:
33
30
  save: Atualizar
34
31
  title: Editar publicação
@@ -19,7 +19,6 @@ ro:
19
19
  blogs:
20
20
  actions:
21
21
  author_id: Creează postare ca
22
- destroy: Șterge
23
22
  edit: Editează
24
23
  new: Postare nouă
25
24
  title: Acțiuni
@@ -57,6 +56,25 @@ ro:
57
56
  official_blog_post: Postare oficială
58
57
  published_at: Publicat la
59
58
  title: Titlu
59
+ posts:
60
+ edit:
61
+ back: Înapoi la postare
62
+ button: Actualizați
63
+ title: Modificați postarea
64
+ form:
65
+ author_id: Autor
66
+ body: Conținut
67
+ title: Titlu
68
+ index:
69
+ new_post: Postare nouă
70
+ menu_actions:
71
+ button_destroy: Ștergeți postarea
72
+ button_destroy_confirm: Sunteți sigur că doriți să ștergeți această postare?
73
+ button_edit: Modificați postarea
74
+ new:
75
+ back: Înapoi la postări
76
+ button: Creați
77
+ title: Creați o postare nouă
60
78
  components:
61
79
  blogs:
62
80
  actions:
@@ -71,6 +89,7 @@ ro:
71
89
  announcement: Anunţ
72
90
  comments_enabled: Comentarii activate
73
91
  comments_max_length: Lungimea maximă a comentariilor (lăsați 0 pentru valoarea implicită)
92
+ creation_enabled_for_participants: Participanții pot crea postări
74
93
  step:
75
94
  announcement: Anunţ
76
95
  comments_blocked: Comentarii blocate
@@ -20,7 +20,6 @@ ru:
20
20
  blogs:
21
21
  actions:
22
22
  author_id: Создать пост как
23
- destroy: Удалить
24
23
  edit: Редактировать
25
24
  new: Создать новый пост
26
25
  title: Действия
@@ -29,8 +28,6 @@ ru:
29
28
  create:
30
29
  invalid: При попытке добавить этот пост произошла ошибка.
31
30
  success: Пост успешно создан.
32
- destroy:
33
- success: Пост успешно удален.
34
31
  edit:
35
32
  save: Обновить
36
33
  title: Изменить пост
@@ -18,7 +18,6 @@ sq:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Krijo postimin si
21
- destroy: Fshij
22
21
  edit: Përpuno
23
22
  new: Postim i ri
24
23
  title: Veprime
@@ -27,8 +26,6 @@ sq:
27
26
  create:
28
27
  invalid: Ndodhi një gabim gjatë krijimit të këtij postimi.
29
28
  success: Postimi u krijua me sukses.
30
- destroy:
31
- success: Postimi u fshi me sukses.
32
29
  edit:
33
30
  save: Përditëso
34
31
  title: Përpuno postimin
@@ -15,27 +15,34 @@ sv:
15
15
  one: Inlägg
16
16
  other: Inlägg
17
17
  decidim:
18
+ admin:
19
+ admin_log:
20
+ changeset:
21
+ posts: Inlägg
18
22
  blogs:
19
23
  actions:
20
24
  author_id: Skapa inlägg som
21
- confirm_destroy: Är du säker på att du vill radera inlägget?
22
- destroy: Radera
25
+ confirm_delete_post: Är du säker på att du vill radera inlägget?
26
+ deleted_posts_info: Raderade inlägg kan återställas från papperskorgen.
23
27
  edit: Redigera
24
28
  new: Nytt inlägg
25
29
  title: Åtgärder
30
+ view_deleted_posts: Visa raderade inlägg
26
31
  admin:
27
32
  posts:
28
33
  create:
29
34
  invalid: Det gick inte att skapa inlägget.
30
35
  success: Inlägget har skapats.
31
36
  destroy:
32
- success: Inlägget har raderats.
37
+ success: Inlägget raderades.
33
38
  edit:
34
39
  save: Uppdatera
35
40
  title: Redigera inlägg
36
41
  index:
37
42
  not_published_yet: Ej publicerat.
38
43
  title: Inlägg
44
+ manage_trash:
45
+ title: Raderade inlägg
39
46
  new:
40
47
  create: Skapa
41
48
  title: Skapa inlägg
@@ -46,6 +53,8 @@ sv:
46
53
  post:
47
54
  create: "%{user_name} skapade blogginlägget %{resource_name} i %{space_name}"
48
55
  delete: "%{user_name} raderade blogginlägget %{resource_name} från %{space_name}"
56
+ restore: "%{user_name} återställde %{resource_name} blogginlägg i %{space_name}"
57
+ soft_delete: "%{user_name} flyttade blogginlägget %{resource_name} i %{space_name} till papperskorgen"
49
58
  update: "%{user_name} uppdaterade blogginlägget %{resource_name} i %{space_name}"
50
59
  content_blocks:
51
60
  highlighted_posts:
@@ -63,11 +72,28 @@ sv:
63
72
  published_at: Publicerad
64
73
  title: Titel
65
74
  posts:
75
+ edit:
76
+ back: Tillbaka till inlägget
77
+ button: Uppdatera
78
+ title: Redigera inlägg
79
+ form:
80
+ author_id: Författare
81
+ body: Text
82
+ title: Titel
66
83
  index:
67
84
  count:
68
85
  one: "%{count} inlägg"
69
86
  other: "%{count} inlägg"
70
87
  empty: Det finns inga inlägg ännu.
88
+ new_post: Nytt inlägg
89
+ menu_actions:
90
+ button_destroy: Ta bort inlägg
91
+ button_destroy_confirm: Är du säker på att du vill radera inlägget?
92
+ button_edit: Redigera inlägg
93
+ new:
94
+ back: Tillbaka till inlägg
95
+ button: Skapa
96
+ title: Skapa nytt inlägg
71
97
  components:
72
98
  blogs:
73
99
  actions:
@@ -82,6 +108,7 @@ sv:
82
108
  announcement: Meddelande
83
109
  comments_enabled: Aktivera kommentarer
84
110
  comments_max_length: Maximal kommentarslängd (ange 0 för att använda standardvärdet)
111
+ creation_enabled_for_participants: Deltagarna kan skapa inlägg
85
112
  step:
86
113
  announcement: Meddelande
87
114
  comments_blocked: Stäng av kommentarer
@@ -94,5 +121,33 @@ sv:
94
121
  email_outro: Du har fått det här meddelandet eftersom du följer "%{participatory_space_title}". Du kan sluta att följa det från den föregående länken.
95
122
  email_subject: Ett nytt inlägg har publicerats i %{participatory_space_title}
96
123
  notification_title: Inlägget <a href="%{resource_path}">%{resource_title}</a> har publicerats i %{participatory_space_title}
124
+ open_data:
125
+ help:
126
+ post_comments:
127
+ alignment: Positiva, negativa eller neutrala kommentarer
128
+ author: Namn på den som kommenterat
129
+ body: Kommentaren
130
+ commentable_id: Kommentarens unika id
131
+ commentable_type: Vad som kommenterades (resultat, förslag etc)
132
+ created_at: Datum för kommentaren
133
+ depth: Kommentarens plats i en hierarki av kommentarer (om den är ett svar på en annan kommentar)
134
+ id: Id för kommentaren
135
+ locale: Kommentarförfattarens språk
136
+ root_commentable_url: URL till innehållet som är relaterat till kommentaren
137
+ user_group: Namn på gruppen som kommenterat (om det var en grupp)
138
+ posts:
139
+ author: Uppgifter om författaren
140
+ body: Inläggets text
141
+ comments_count: Antalet kommentarer till inlägget
142
+ component: Komponenten som inlägget tillhör
143
+ created_at: Datum för inlägget
144
+ endorsements_count: Antal gilla-markeringar för inlägget
145
+ follows_count: Antal följare för inlägget
146
+ id: Unikt id för inlägget
147
+ participatory_space: Vilket utrymme (deltagandeprocess eller samråd) inlägget tillhör
148
+ published_at: Publiceringsdatum för inlägget
149
+ title: Titeln på inlägget
150
+ updated_at: Senaste datum när inlägget uppdaterades
151
+ url: URL för inlägget
97
152
  statistics:
98
153
  posts_count: Inlägg
@@ -17,7 +17,6 @@ zh-TW:
17
17
  blogs:
18
18
  actions:
19
19
  author_id: 發佈文章
20
- destroy: 刪除
21
20
  edit: 編輯
22
21
  new: 新貼文
23
22
  title: 操作
@@ -26,8 +25,6 @@ zh-TW:
26
25
  create:
27
26
  invalid: 建立此文章時出現問題
28
27
  success: 文章已成功建立
29
- destroy:
30
- success: 文章已成功刪除
31
28
  edit:
32
29
  save: 更新
33
30
  title: 编辑文章
@@ -4,6 +4,6 @@ class AddCommentableCounterCacheToPosts < ActiveRecord::Migration[5.2]
4
4
  def change
5
5
  add_column :decidim_blogs_posts, :comments_count, :integer, null: false, default: 0, index: true
6
6
  Decidim::Blogs::Post.reset_column_information
7
- Decidim::Blogs::Post.find_each(&:update_comments_count)
7
+ Decidim::Blogs::Post.unscoped.find_each(&:update_comments_count)
8
8
  end
9
9
  end
@@ -7,7 +7,7 @@ class AddFollowableCounterCacheToBlogs < ActiveRecord::Migration[5.2]
7
7
  reversible do |dir|
8
8
  dir.up do
9
9
  Decidim::Blogs::Post.reset_column_information
10
- Decidim::Blogs::Post.find_each do |record|
10
+ Decidim::Blogs::Post.unscoped.find_each do |record|
11
11
  record.class.reset_counters(record.id, :follows)
12
12
  end
13
13
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddDeletedAtToDecidimBlogsPosts < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_blogs_posts, :deleted_at, :datetime
6
+ add_index :decidim_blogs_posts, :deleted_at
7
+ end
8
+ end
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  "homepage_uri" => "https://decidim.org",
20
20
  "source_code_uri" => "https://github.com/decidim/decidim"
21
21
  }
22
- s.required_ruby_version = "~> 3.2.0"
22
+ s.required_ruby_version = "~> 3.3.0"
23
23
 
24
24
  s.name = "decidim-blogs"
25
25
  s.summary = "Decidim blogs module"
@@ -6,14 +6,13 @@ module Decidim
6
6
  graphql_name "Blogs"
7
7
  description "A blogs component of a participatory space."
8
8
 
9
- field :posts, type: Decidim::Blogs::PostType.connection_type, description: "List all posts", connection: true, null: false do
10
- argument :order, Decidim::Blogs::PostInputSort, "Provides several methods to order the results", required: false
11
- argument :filter, Decidim::Blogs::PostInputFilter, "Provides several methods to filter the results", required: false
12
- end
13
-
14
9
  field :post, type: Decidim::Blogs::PostType, description: "Finds one post", null: true do
15
10
  argument :id, GraphQL::Types::ID, "The ID of the post", required: true
16
11
  end
12
+ field :posts, type: Decidim::Blogs::PostType.connection_type, description: "List all posts", connection: true, null: false do
13
+ argument :filter, Decidim::Blogs::PostInputFilter, "Provides several methods to filter the results", required: false
14
+ argument :order, Decidim::Blogs::PostInputSort, "Provides several methods to order the results", required: false
15
+ end
17
16
 
18
17
  def posts(filter: {}, order: {})
19
18
  base_query = Decidim::Core::ComponentListBase.new(model_class: Post).call(object, { filter:, order: }, context)
@@ -13,10 +13,10 @@ module Decidim
13
13
 
14
14
  description "A post"
15
15
 
16
- field :id, GraphQL::Types::ID, "The internal ID of this post", null: false
17
- field :title, Decidim::Core::TranslatedFieldType, "The title for this post", null: true
18
16
  field :body, Decidim::Core::TranslatedFieldType, "The body of this post", null: true
17
+ field :id, GraphQL::Types::ID, "The internal ID of this post", null: false
19
18
  field :published_at, Decidim::Core::DateTimeType, "The time this page was published", null: false
19
+ field :title, Decidim::Core::TranslatedFieldType, "The title for this post", null: true
20
20
 
21
21
  def self.authorized?(object, context)
22
22
  context[:post] = object