decidim-posts 1.0.0
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.
- checksums.yaml +7 -0
- data/LICENSE-AGPLv3.txt +661 -0
- data/README.md +40 -0
- data/Rakefile +9 -0
- data/app/cells/decidim/posts/comments/add_comment.erb +15 -0
- data/app/cells/decidim/posts/comments/comments_loading.erb +1 -0
- data/app/cells/decidim/posts/comments/order_control.erb +13 -0
- data/app/cells/decidim/posts/comments/show.erb +31 -0
- data/app/cells/decidim/posts/comments_cell.rb +158 -0
- data/app/cells/decidim/posts/content_blocks/posts/show.erb +3 -0
- data/app/cells/decidim/posts/content_blocks/posts_cell.rb +50 -0
- data/app/cells/decidim/posts/content_blocks/posts_settings_form/show.erb +3 -0
- data/app/cells/decidim/posts/content_blocks/posts_settings_form_cell.rb +23 -0
- data/app/cells/decidim/posts/feed_dropdown_metadata_cell.rb +19 -0
- data/app/cells/decidim/posts/meeting/show.erb +65 -0
- data/app/cells/decidim/posts/meeting_cell.rb +44 -0
- data/app/cells/decidim/posts/post/show.erb +30 -0
- data/app/cells/decidim/posts/post/survey.erb +68 -0
- data/app/cells/decidim/posts/post_attachments/show.erb +40 -0
- data/app/cells/decidim/posts/post_attachments_cell.rb +17 -0
- data/app/cells/decidim/posts/post_cell.rb +44 -0
- data/app/cells/decidim/posts/post_comment/show.erb +17 -0
- data/app/cells/decidim/posts/post_comment_cell.rb +49 -0
- data/app/cells/decidim/posts/post_header/show.erb +53 -0
- data/app/cells/decidim/posts/post_header_cell.rb +79 -0
- data/app/cells/decidim/posts/post_host/show.erb +74 -0
- data/app/cells/decidim/posts/post_host_cell.rb +73 -0
- data/app/cells/decidim/posts/post_metadata/show.erb +9 -0
- data/app/cells/decidim/posts/post_metadata_cell.rb +67 -0
- data/app/cells/decidim/posts/reaction_menu/show.erb +18 -0
- data/app/cells/decidim/posts/reaction_menu/styles.erb +7 -0
- data/app/cells/decidim/posts/reaction_menu_cell.rb +26 -0
- data/app/cells/decidim/posts/reactions/show.erb +8 -0
- data/app/cells/decidim/posts/reactions_cell.rb +22 -0
- data/app/commands/decidim/posts/add_reaction_to_resource.rb +90 -0
- data/app/commands/decidim/posts/create_post.rb +112 -0
- data/app/commands/decidim/posts/destroy_post.rb +20 -0
- data/app/commands/decidim/posts/remove_reaction_from_resource.rb +41 -0
- data/app/commands/decidim/posts/update_post.rb +72 -0
- data/app/controllers/concerns/decidim/posts/admin/filterable.rb +46 -0
- data/app/controllers/concerns/decidim/posts/reactionable.rb +31 -0
- data/app/controllers/decidim/posts/admin/application_controller.rb +26 -0
- data/app/controllers/decidim/posts/admin/posts_controller.rb +93 -0
- data/app/controllers/decidim/posts/application_controller.rb +18 -0
- data/app/controllers/decidim/posts/meetings_controller.rb +176 -0
- data/app/controllers/decidim/posts/posts_controller.rb +202 -0
- data/app/controllers/decidim/posts/reactions_controller.rb +54 -0
- data/app/controllers/decidim/posts/user_answers_controller.rb +36 -0
- data/app/events/decidim/posts/resource_reacted_event.rb +38 -0
- data/app/forms/decidim/posts/answer_form.rb +13 -0
- data/app/forms/decidim/posts/post_form.rb +121 -0
- data/app/forms/decidim/posts/question_form.rb +20 -0
- data/app/helpers/decidim/posts/admin/posts_helper.rb +8 -0
- data/app/helpers/decidim/posts/application_helper.rb +20 -0
- data/app/helpers/decidim/posts/post_cells_helper.rb +35 -0
- data/app/helpers/decidim/posts/posts_helper.rb +34 -0
- data/app/helpers/decidim/posts/reaction_helper.rb +22 -0
- data/app/models/decidim/posts/answer.rb +13 -0
- data/app/models/decidim/posts/application_record.rb +10 -0
- data/app/models/decidim/posts/post.rb +116 -0
- data/app/models/decidim/posts/question.rb +17 -0
- data/app/models/decidim/posts/reaction.rb +22 -0
- data/app/models/decidim/posts/reaction_type.rb +13 -0
- data/app/models/decidim/posts/user_answer.rb +11 -0
- data/app/packs/entrypoints/decidim_posts.js +5 -0
- data/app/packs/entrypoints/decidim_posts.scss +1 -0
- data/app/packs/images/decidim/posts/icon.svg +1 -0
- data/app/packs/src/decidim/posts/carousel.js +112 -0
- data/app/packs/src/decidim/posts/host_status.js +75 -0
- data/app/packs/src/decidim/posts/newFeeds.js +98 -0
- data/app/packs/src/decidim/posts/posts.js +272 -0
- data/app/packs/src/decidim/posts/submenu.js +46 -0
- data/app/packs/src/decidim/posts/survey.js +94 -0
- data/app/packs/stylesheets/decidim/posts/_variables.scss +10 -0
- data/app/packs/stylesheets/decidim/posts/posts.scss +415 -0
- data/app/permissions/decidim/posts/admin/permissions.rb +23 -0
- data/app/permissions/decidim/posts/permissions.rb +101 -0
- data/app/presenters/decidim/posts/post_presenter.rb +45 -0
- data/app/views/decidim/posts/admin/posts/_post-tr.html.erb +45 -0
- data/app/views/decidim/posts/admin/posts/index.html.erb +54 -0
- data/app/views/decidim/posts/meetings/edit.html.erb +24 -0
- data/app/views/decidim/posts/posts/_admin_options.html.erb +30 -0
- data/app/views/decidim/posts/posts/_attachment.html.erb +24 -0
- data/app/views/decidim/posts/posts/_edit_form.html.erb +16 -0
- data/app/views/decidim/posts/posts/_feed.html.erb +8 -0
- data/app/views/decidim/posts/posts/_form.html.erb +104 -0
- data/app/views/decidim/posts/posts/_index.html.erb +49 -0
- data/app/views/decidim/posts/posts/_meeting_form.erb +18 -0
- data/app/views/decidim/posts/posts/_new.html.erb +33 -0
- data/app/views/decidim/posts/posts/_new_survey.html.erb +20 -0
- data/app/views/decidim/posts/posts/_new_survey_answer.html.erb +11 -0
- data/app/views/decidim/posts/posts/_new_survey_question.html.erb +17 -0
- data/app/views/decidim/posts/posts/_post.html.erb +11 -0
- data/app/views/decidim/posts/posts/_post_form.html.erb +5 -0
- data/app/views/decidim/posts/posts/_sidebar.html.erb +36 -0
- data/app/views/decidim/posts/posts/edit.html.erb +34 -0
- data/app/views/decidim/posts/posts/index.html.erb +1 -0
- data/app/views/decidim/posts/posts/show.html.erb +12 -0
- data/app/views/decidim/posts/reactions/_update_buttons_and_counters.html.erb +1 -0
- data/config/assets.rb +9 -0
- data/config/i18n-tasks.yml +10 -0
- data/config/locales/bs.yml +215 -0
- data/config/locales/de.yml +217 -0
- data/config/locales/en.yml +216 -0
- data/config/locales/hr.yml +219 -0
- data/config/locales/it.yml +215 -0
- data/config/locales/sr.yml +220 -0
- data/config/locales/tr.yml +219 -0
- data/lib/decidim/posts/admin.rb +10 -0
- data/lib/decidim/posts/admin_engine.rb +25 -0
- data/lib/decidim/posts/component.rb +59 -0
- data/lib/decidim/posts/content_blocks/content_blocks_homepage.rb +19 -0
- data/lib/decidim/posts/engine.rb +84 -0
- data/lib/decidim/posts/test/factories.rb +14 -0
- data/lib/decidim/posts/version.rb +9 -0
- data/lib/decidim/posts.rb +13 -0
- metadata +183 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
tr:
|
|
3
|
+
decidim:
|
|
4
|
+
posts:
|
|
5
|
+
admin:
|
|
6
|
+
posts:
|
|
7
|
+
index:
|
|
8
|
+
title: Posts
|
|
9
|
+
selected: seçilmiş
|
|
10
|
+
form:
|
|
11
|
+
title: Başlık
|
|
12
|
+
slug_help_html: "URL slugları, bu feedi işaret eden URL'leri oluşturmak için kullanılır. Sadece harfleri, rakamları ve tireleri kabul eder ve bir harfle başlamalıdır. Örnek: %{url}"
|
|
13
|
+
actions:
|
|
14
|
+
preview: Önizleme
|
|
15
|
+
content_blocks:
|
|
16
|
+
feeds:
|
|
17
|
+
name: Feed
|
|
18
|
+
actions:
|
|
19
|
+
title: Eylemler
|
|
20
|
+
edit_post: Gönderiyi düzenle
|
|
21
|
+
time:
|
|
22
|
+
minutes:
|
|
23
|
+
one: Dak.
|
|
24
|
+
other: Dak.
|
|
25
|
+
hours:
|
|
26
|
+
one: Saat
|
|
27
|
+
other: Saat
|
|
28
|
+
days:
|
|
29
|
+
one: Gün
|
|
30
|
+
other: Günler
|
|
31
|
+
weeks:
|
|
32
|
+
one: Hafta
|
|
33
|
+
other: Haftalar
|
|
34
|
+
months:
|
|
35
|
+
one: Ay
|
|
36
|
+
other: Aylar
|
|
37
|
+
years:
|
|
38
|
+
one: Yıl
|
|
39
|
+
other: Yıllar
|
|
40
|
+
post_comment:
|
|
41
|
+
comment: Yorum
|
|
42
|
+
posts:
|
|
43
|
+
host:
|
|
44
|
+
status:
|
|
45
|
+
confirm: Evet
|
|
46
|
+
cancel: İptal
|
|
47
|
+
processing: İşleniyor
|
|
48
|
+
done: Tamamlandı
|
|
49
|
+
undone: Okunmamış
|
|
50
|
+
dialogTitle: Mesaj durumunu değiştir
|
|
51
|
+
dialogBodyMsg: Mesajın durumu değiştirilecek
|
|
52
|
+
dialogBodyMsgComments: Yorum işlevi kapatılacak
|
|
53
|
+
dialogBodyResponse: Lütfen bekleyin, mesajın durumu değiştiriliyor
|
|
54
|
+
create:
|
|
55
|
+
success: Gönderi başarıyla oluşturuldu
|
|
56
|
+
invalid: Gönderi oluşturma başarısız oldu
|
|
57
|
+
update:
|
|
58
|
+
success: Gönderi başarıyla güncellendi
|
|
59
|
+
invalid: Gönderi güncelleme başarısız oldu
|
|
60
|
+
destroy:
|
|
61
|
+
success: Gönderi başarıyla silindi
|
|
62
|
+
invalid: Gönderi silme başarısız oldu
|
|
63
|
+
back_to_feed: Feed'e geri dön
|
|
64
|
+
form:
|
|
65
|
+
question_too_short: Soru çok kısa
|
|
66
|
+
meeting_form:
|
|
67
|
+
address_help: 'Adres: Geocoder tarafından konumu bulmak için kullanılır'
|
|
68
|
+
available_slots_help: Sınırsız alanınız varsa bunu 0 olarak bırakın
|
|
69
|
+
create_as: Toplantı oluştur
|
|
70
|
+
location_help: 'Konum: kullanıcılara buluşulacak yeri ima eden mesaj'
|
|
71
|
+
location_hints_help: 'Konum ipuçları: ek bilgi. Örnek: Yüz yüze bir toplantıysa binanın katı veya kısıtlı erişime sahip çevrimiçi bir toplantıysa toplantı parolası.'
|
|
72
|
+
online_meeting_url_help: 'Bağlantı: katılımcıların toplantınıza doğrudan bağlanmasına izin verin'
|
|
73
|
+
registration_url_help: 'Bağlantı: katılımcıların kayıtlar için kullandığınız harici hizmete girmesine izin verin'
|
|
74
|
+
select_a_category: Lütfen bir kategori seçin
|
|
75
|
+
select_a_meeting_type: Lütfen bir toplantı türü seçin
|
|
76
|
+
select_a_registration_type: Lütfen bir kayıt türü seçin
|
|
77
|
+
disclaimer: 'Dikkat: Harici bir kayıt sistemi kullanarak, %{organization} organizatörlerinin kullanıcılardan harici hizmete sağlanan verilerden sorumlu olmadığını biliyorsunuz.'
|
|
78
|
+
iframe_embed_type_html: 'Yalnızca birkaç hizmet, aşağıdaki alanlardan toplantıya veya canlı etkinliğe gömülmesine izin verir: %{domains}'
|
|
79
|
+
select_an_iframe_access_level: Lütfen bir iframe erişim seviyesi seçin
|
|
80
|
+
load_more: Daha fazla yükle
|
|
81
|
+
survey:
|
|
82
|
+
participated: '%{count} yanıt'
|
|
83
|
+
models:
|
|
84
|
+
post:
|
|
85
|
+
fields:
|
|
86
|
+
title: Başlık
|
|
87
|
+
created_at: Oluşturulma tarihi
|
|
88
|
+
actions: Eylemler
|
|
89
|
+
endorsements: Beğeniler
|
|
90
|
+
comments: Yorumlar
|
|
91
|
+
status: Durum
|
|
92
|
+
components:
|
|
93
|
+
posts:
|
|
94
|
+
name: Gönderiler
|
|
95
|
+
settings:
|
|
96
|
+
global:
|
|
97
|
+
attachments_allowed?: Ekler izin verildi
|
|
98
|
+
step:
|
|
99
|
+
endorsements_enabled: Beğenileri etkinleştir
|
|
100
|
+
endorsements_blocked: Beğenileri engelle
|
|
101
|
+
content_blocks:
|
|
102
|
+
feeds:
|
|
103
|
+
title: Feed
|
|
104
|
+
name: Feed
|
|
105
|
+
description: Gönderiler, etkinlikler ve diğer içeriklerin bir beslemesi.
|
|
106
|
+
feeds_settings_form:
|
|
107
|
+
component: Gösterilecek feed
|
|
108
|
+
actions:
|
|
109
|
+
openMenu: Menüyü aç
|
|
110
|
+
edit: Düzenle
|
|
111
|
+
translate: Çevir
|
|
112
|
+
delete: Sil
|
|
113
|
+
deleteConfirmation: Bu gönderiyi silmek istediğinizden emin misiniz?
|
|
114
|
+
reactions:
|
|
115
|
+
title: Tepkinizi seçin
|
|
116
|
+
like: Beğen
|
|
117
|
+
unlike: Beğenmekten vazgeç
|
|
118
|
+
love: Bayıldım
|
|
119
|
+
unlike_love: Bayılmaktan vazgeç
|
|
120
|
+
laugh: Gül
|
|
121
|
+
unlike_laugh: Gülmekten vazgeç
|
|
122
|
+
wow: Vay
|
|
123
|
+
unlike_wow: Vay demekten vazgeç
|
|
124
|
+
sad: Üzgün
|
|
125
|
+
unlike_sad: Üzgün olmaktan vazgeç
|
|
126
|
+
angry: Kızgın
|
|
127
|
+
unlike_angry: Kızgın olmaktan vazgeç
|
|
128
|
+
newFeed:
|
|
129
|
+
title: Yeni bir gönderi oluştur
|
|
130
|
+
text: Gönderi
|
|
131
|
+
category: Kategori
|
|
132
|
+
highlighted: Vurgulanan
|
|
133
|
+
fixed: Üstte sabit
|
|
134
|
+
action: Gönder
|
|
135
|
+
cancel: İptal
|
|
136
|
+
login: Yeni bir gönderi oluşturmak için lütfen giriş yapın
|
|
137
|
+
loginLink: Giriş yap
|
|
138
|
+
openButton: Yeni bir gönderi oluşturmak için formu aç
|
|
139
|
+
close: Formu kapat
|
|
140
|
+
aria-live:
|
|
141
|
+
post: 'Gönderileri seçtiniz. Lütfen ilgili giriş alanlarına dikkat edin'
|
|
142
|
+
sharecare: 'Paylaş ve Bakımı seçtiniz. Lütfen ilgili giriş alanlarına dikkat edin'
|
|
143
|
+
host: 'Ev sahibini seçtiniz. Lütfen ilgili giriş alanlarına dikkat edin'
|
|
144
|
+
calendar: 'Toplantıları seçtiniz. Lütfen ilgili giriş alanlarına dikkat edin'
|
|
145
|
+
survey: 'Anketleri seçtiniz. Lütfen ilgili giriş alanlarına dikkat edin'
|
|
146
|
+
newSurvey:
|
|
147
|
+
newQuestion: Yeni Soru
|
|
148
|
+
newQuestionResponse: Yeni bir soru eklendi
|
|
149
|
+
questionTitle: Soru girin
|
|
150
|
+
questionType: Soru tipi
|
|
151
|
+
questionTypes:
|
|
152
|
+
multiple_choice: Çoktan seçmeli
|
|
153
|
+
single_choice: Tek seçim
|
|
154
|
+
answerType: Cevap türü
|
|
155
|
+
multipleChoice: Çoktan seçmeli
|
|
156
|
+
singleChoice: Tek seçim
|
|
157
|
+
newAnswer: Yeni cevap
|
|
158
|
+
newAnswerResponse: Yeni bir cevap eklendi
|
|
159
|
+
answerTitle: Cevap girin
|
|
160
|
+
deleteQuestion: Soruyu sil
|
|
161
|
+
deleteAnswer: Cevabı sil
|
|
162
|
+
filter:
|
|
163
|
+
all: Hepsi
|
|
164
|
+
title: Filtre
|
|
165
|
+
menuAriaLabel: Feedleri filtrele
|
|
166
|
+
post: Gönderi
|
|
167
|
+
posts: Gönderiler
|
|
168
|
+
post_singular: Gönderi
|
|
169
|
+
sharecare: Share & Care
|
|
170
|
+
sharecare_singular: Share & Care
|
|
171
|
+
host: Ev sahibi
|
|
172
|
+
host_singular: Ev sahibi
|
|
173
|
+
calendar: Toplantılar
|
|
174
|
+
calendar_singular: Toplantı
|
|
175
|
+
survey: Anketler
|
|
176
|
+
survey_singular: Anket
|
|
177
|
+
help: Yardım
|
|
178
|
+
calendar:
|
|
179
|
+
date_separator: 'arası'
|
|
180
|
+
start_time: Saat
|
|
181
|
+
end_time: Bitiş
|
|
182
|
+
gallery:
|
|
183
|
+
navigation: '%{total} resminin %{number} resmine git'
|
|
184
|
+
add_comment_form:
|
|
185
|
+
form:
|
|
186
|
+
submit_root_comment: Yorumu gönder
|
|
187
|
+
submit_reply: Yanıtı gönder
|
|
188
|
+
shared:
|
|
189
|
+
flag_modal:
|
|
190
|
+
report: Rapor
|
|
191
|
+
admin:
|
|
192
|
+
feeds:
|
|
193
|
+
new:
|
|
194
|
+
title: Yeni Feed
|
|
195
|
+
create: Feed Oluştur
|
|
196
|
+
create:
|
|
197
|
+
success: Feed başarıyla oluşturuldu
|
|
198
|
+
invalid: Feed oluşturma başarısız oldu
|
|
199
|
+
edit:
|
|
200
|
+
title: Feed Düzenle
|
|
201
|
+
update: Feed Güncelle
|
|
202
|
+
update:
|
|
203
|
+
success: Feed başarıyla güncellendi
|
|
204
|
+
invalid: Feed güncelleme başarısız oldu
|
|
205
|
+
menu:
|
|
206
|
+
feeds: Feedler
|
|
207
|
+
feeds_submenu:
|
|
208
|
+
components: Bileşenler
|
|
209
|
+
info: Bu feed hakkında
|
|
210
|
+
moderations: Moderasyonlar
|
|
211
|
+
see_feed: Feed'i gör
|
|
212
|
+
titles:
|
|
213
|
+
feeds: Feedler
|
|
214
|
+
actions:
|
|
215
|
+
new_feed: Yeni Feed
|
|
216
|
+
layouts:
|
|
217
|
+
decidim:
|
|
218
|
+
announcements:
|
|
219
|
+
view_more: Daha fazla gör
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "decidim/core"
|
|
4
|
+
# require "decidim/posts/menu"
|
|
5
|
+
|
|
6
|
+
module Decidim
|
|
7
|
+
module Posts
|
|
8
|
+
# This is the engine that runs on the public interface of `Posts`.
|
|
9
|
+
class AdminEngine < ::Rails::Engine
|
|
10
|
+
isolate_namespace Decidim::Posts::Admin
|
|
11
|
+
|
|
12
|
+
paths["db/migrate"] = nil
|
|
13
|
+
paths["lib/tasks"] = nil
|
|
14
|
+
|
|
15
|
+
routes do
|
|
16
|
+
resources :posts
|
|
17
|
+
root to: "posts#index"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def load_seed
|
|
21
|
+
nil
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "decidim/components/namer"
|
|
4
|
+
|
|
5
|
+
Decidim.register_component(:posts) do |component|
|
|
6
|
+
component.engine = Decidim::Posts::Engine
|
|
7
|
+
component.admin_engine = Decidim::Posts::AdminEngine
|
|
8
|
+
component.icon = "decidim/posts/icon.svg"
|
|
9
|
+
component.permissions_class_name = "Decidim::Posts::Permissions"
|
|
10
|
+
|
|
11
|
+
# component.exports :feeds do |exports|
|
|
12
|
+
# exports.include_in_open_data = false
|
|
13
|
+
# end
|
|
14
|
+
|
|
15
|
+
# component.on(:before_destroy) do |instance|
|
|
16
|
+
# # Code executed before removing the component
|
|
17
|
+
# end
|
|
18
|
+
|
|
19
|
+
# These actions permissions can be configured in the admin panel
|
|
20
|
+
# component.actions = %w()
|
|
21
|
+
# component.actions = %w(comment)
|
|
22
|
+
|
|
23
|
+
# component.settings(:global) do |settings|
|
|
24
|
+
# # Add your global settings
|
|
25
|
+
# # Available types: :integer, :boolean
|
|
26
|
+
# # settings.attribute :vote_limit, type: :integer, default: 0
|
|
27
|
+
# end
|
|
28
|
+
component.settings(:global) do |settings|
|
|
29
|
+
settings.attribute :attachments_allowed?, type: :boolean, default: true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
component.settings(:step) do |settings|
|
|
33
|
+
# Add your settings per step
|
|
34
|
+
settings.attribute :endorsements_enabled, type: :boolean, default: true
|
|
35
|
+
settings.attribute :endorsements_blocked, type: :boolean
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# component.register_resource(:some_resource) do |resource|
|
|
39
|
+
# # Register a optional resource that can be references from other resources.
|
|
40
|
+
# resource.model_class_name = "Decidim::Posts::SomeResource"
|
|
41
|
+
# resource.template = "decidim/posts/some_resources/linked_some_resources"
|
|
42
|
+
# end
|
|
43
|
+
component.register_resource(:post) do |resource|
|
|
44
|
+
resource.model_class_name = "Decidim::Posts::Post"
|
|
45
|
+
# resource.template = "decidim/posts/posts/linked_posts"
|
|
46
|
+
# resource.card = "decidim/posts/posts"
|
|
47
|
+
# resource.reported_content_cell = "decidim/posts/reported_content"
|
|
48
|
+
# resource.actions = %w(endorse vote amend comment vote_comment)
|
|
49
|
+
resource.searchable = true
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# component.register_stat :some_stat do |context, start_at, end_at|
|
|
53
|
+
# # Register some stat number to the application
|
|
54
|
+
# end
|
|
55
|
+
|
|
56
|
+
# component.seeds do |participatory_space|
|
|
57
|
+
# # Add some seeds for this component
|
|
58
|
+
# end
|
|
59
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
def initialize_homepage_content_blocks
|
|
4
|
+
initializer "Feeds.content_blocks" do
|
|
5
|
+
Decidim.content_blocks.register(:homepage, :feeds) do |content_block|
|
|
6
|
+
content_block.cell = "decidim/posts/content_blocks/feeds"
|
|
7
|
+
content_block.settings_form_cell = "decidim/posts/content_blocks/feeds_settings_form"
|
|
8
|
+
content_block.public_name_key = "decidim.posts.content_blocks.feeds.name"
|
|
9
|
+
|
|
10
|
+
content_block.settings do |settings|
|
|
11
|
+
# settings.attribute :title, type: :text, translated: true
|
|
12
|
+
# settings.attribute :link_text, type: :text, translated: true
|
|
13
|
+
# settings.attribute :link_url, type: :text, translated: true
|
|
14
|
+
# settings.attribute :count, type: :integer, default: 3
|
|
15
|
+
settings.attribute :component_id, type: :integer
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rails"
|
|
4
|
+
require "decidim/core"
|
|
5
|
+
|
|
6
|
+
# require "decidim/posts/menu"
|
|
7
|
+
|
|
8
|
+
require_relative "content_blocks/content_blocks_homepage"
|
|
9
|
+
|
|
10
|
+
module Decidim
|
|
11
|
+
module Posts
|
|
12
|
+
# This is the engine that runs on the public interface of feeds.
|
|
13
|
+
class Engine < ::Rails::Engine
|
|
14
|
+
routes do
|
|
15
|
+
# Add admin engine routes here
|
|
16
|
+
# resources :feeds do
|
|
17
|
+
# collection do
|
|
18
|
+
# resources :exports, only: [:create]
|
|
19
|
+
# end
|
|
20
|
+
# end
|
|
21
|
+
#
|
|
22
|
+
# survey user answer
|
|
23
|
+
#
|
|
24
|
+
|
|
25
|
+
root to: "posts#index"
|
|
26
|
+
resources :posts do
|
|
27
|
+
get :load_more, on: :collection
|
|
28
|
+
end
|
|
29
|
+
resources :meetings do
|
|
30
|
+
member do
|
|
31
|
+
put :withdraw
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
resources :reactions, only: [:create, :destroy]
|
|
35
|
+
|
|
36
|
+
# get "/test" => "posts#test"
|
|
37
|
+
get 'change_status', to: 'posts#change_status', as: 'change_post_status'
|
|
38
|
+
get 'delete_post', to: 'posts#delete', as: 'delete_post'
|
|
39
|
+
get 'user_answers', to: 'user_answers#create', as: 'user_answers'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
isolate_namespace Decidim::Posts
|
|
43
|
+
|
|
44
|
+
# initializer "decidim_feeds.overrides", after: "decidim.action_controller" do
|
|
45
|
+
# config.to_prepare do
|
|
46
|
+
# Decidim::HomepageController.include(Decidim::Posts::NeedsContentBlocksSnippets)
|
|
47
|
+
# end
|
|
48
|
+
# end
|
|
49
|
+
|
|
50
|
+
initializer "decidim_posts.snippets" do |app|
|
|
51
|
+
app.config.enable_html_header_snippets = true
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
initializer "decidim_posts.add_cells_view_paths" do
|
|
55
|
+
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Posts::Engine.root}/app/cells")
|
|
56
|
+
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Posts::Engine.root}/app/views")
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
initializer "decidim_posts.webpacker.assets_path" do
|
|
60
|
+
Decidim.register_assets_path File.expand_path("app/packs", root)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
initialize_homepage_content_blocks
|
|
64
|
+
|
|
65
|
+
initializer "decidim_posts.register_icons" do
|
|
66
|
+
Decidim.icons.register(name: "function-line", icon: "function-line", category: "system", description: "", engine: :posts)
|
|
67
|
+
Decidim.icons.register(name: "home-5-line", icon: "home-5-line", category: "system", description: "", engine: :posts)
|
|
68
|
+
Decidim.icons.register(name: "recycle-line", icon: "recycle-line", category: "system", description: "", engine: :posts)
|
|
69
|
+
Decidim.icons.register(name: "shake-hands-line", icon: "shake-hands-line", category: "system", description: "", engine: :posts)
|
|
70
|
+
Decidim.icons.register(name: "gallery-fill", icon: "gallery-fill", category: "system", description: "", engine: :posts)
|
|
71
|
+
Decidim.icons.register(name: "send-plane-line", icon: "send-plane-line", category: "system", description: "", engine: :posts)
|
|
72
|
+
Decidim.icons.register(name: "image-add-line", icon: "image-add-line", category: "system", description: "", engine: :posts)
|
|
73
|
+
Decidim.icons.register(name: "film-line", icon: "film-line", category: "system", description: "", engine: :posts)
|
|
74
|
+
Decidim.icons.register(name: "file-add-line", icon: "file-add-line", category: "system", description: "", engine: :posts)
|
|
75
|
+
Decidim.icons.register(name: "chat-4-line", icon: "chat-4-line", category: "communication", description: "", engine: :posts)
|
|
76
|
+
Decidim.icons.register(name: "translate", icon: "translate", category: "editor", description: "", engine: :posts)
|
|
77
|
+
Decidim.icons.register(name: "file-2-line", icon: "file-2-line", category: "editor", description: "", engine: :posts)
|
|
78
|
+
Decidim.icons.register(name: "dislike", icon: "heart-fill", description: "Dislike", category: "action", engine: :posts)
|
|
79
|
+
Decidim.icons.register(name: "heart-add-line", icon: "heart-add-line", description: "Like", category: "action", engine: :posts)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "decidim/components/namer"
|
|
4
|
+
require "decidim/core/test/factories"
|
|
5
|
+
|
|
6
|
+
FactoryBot.define do
|
|
7
|
+
factory :posts_component, parent: :component do
|
|
8
|
+
name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :posts).i18n_name }
|
|
9
|
+
manifest_name :posts
|
|
10
|
+
participatory_space { create(:participatory_process, :with_steps) }
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Add engine factories here
|
|
14
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "decidim/posts/admin"
|
|
4
|
+
require "decidim/posts/engine"
|
|
5
|
+
require "decidim/posts/admin_engine"
|
|
6
|
+
require "decidim/posts/component"
|
|
7
|
+
|
|
8
|
+
module Decidim
|
|
9
|
+
# This namespace holds the logic of the `Feeds` component. This component
|
|
10
|
+
# allows users to create feeds in a participatory space.
|
|
11
|
+
module Posts
|
|
12
|
+
end
|
|
13
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: decidim-posts
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Alexander Rusa
|
|
8
|
+
- Piero Chiussi
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2024-10-26 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: decidim-core
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - ">="
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: 0.28.0
|
|
21
|
+
- - "<"
|
|
22
|
+
- !ruby/object:Gem::Version
|
|
23
|
+
version: '0.29'
|
|
24
|
+
type: :runtime
|
|
25
|
+
prerelease: false
|
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
27
|
+
requirements:
|
|
28
|
+
- - ">="
|
|
29
|
+
- !ruby/object:Gem::Version
|
|
30
|
+
version: 0.28.0
|
|
31
|
+
- - "<"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0.29'
|
|
34
|
+
description: Social posts component for Decidim that should be used in combination
|
|
35
|
+
with decidim-feeds.
|
|
36
|
+
email:
|
|
37
|
+
- alex@rusa.at
|
|
38
|
+
- info@webchroma.de
|
|
39
|
+
executables: []
|
|
40
|
+
extensions: []
|
|
41
|
+
extra_rdoc_files: []
|
|
42
|
+
files:
|
|
43
|
+
- LICENSE-AGPLv3.txt
|
|
44
|
+
- README.md
|
|
45
|
+
- Rakefile
|
|
46
|
+
- app/cells/decidim/posts/comments/add_comment.erb
|
|
47
|
+
- app/cells/decidim/posts/comments/comments_loading.erb
|
|
48
|
+
- app/cells/decidim/posts/comments/order_control.erb
|
|
49
|
+
- app/cells/decidim/posts/comments/show.erb
|
|
50
|
+
- app/cells/decidim/posts/comments_cell.rb
|
|
51
|
+
- app/cells/decidim/posts/content_blocks/posts/show.erb
|
|
52
|
+
- app/cells/decidim/posts/content_blocks/posts_cell.rb
|
|
53
|
+
- app/cells/decidim/posts/content_blocks/posts_settings_form/show.erb
|
|
54
|
+
- app/cells/decidim/posts/content_blocks/posts_settings_form_cell.rb
|
|
55
|
+
- app/cells/decidim/posts/feed_dropdown_metadata_cell.rb
|
|
56
|
+
- app/cells/decidim/posts/meeting/show.erb
|
|
57
|
+
- app/cells/decidim/posts/meeting_cell.rb
|
|
58
|
+
- app/cells/decidim/posts/post/show.erb
|
|
59
|
+
- app/cells/decidim/posts/post/survey.erb
|
|
60
|
+
- app/cells/decidim/posts/post_attachments/show.erb
|
|
61
|
+
- app/cells/decidim/posts/post_attachments_cell.rb
|
|
62
|
+
- app/cells/decidim/posts/post_cell.rb
|
|
63
|
+
- app/cells/decidim/posts/post_comment/show.erb
|
|
64
|
+
- app/cells/decidim/posts/post_comment_cell.rb
|
|
65
|
+
- app/cells/decidim/posts/post_header/show.erb
|
|
66
|
+
- app/cells/decidim/posts/post_header_cell.rb
|
|
67
|
+
- app/cells/decidim/posts/post_host/show.erb
|
|
68
|
+
- app/cells/decidim/posts/post_host_cell.rb
|
|
69
|
+
- app/cells/decidim/posts/post_metadata/show.erb
|
|
70
|
+
- app/cells/decidim/posts/post_metadata_cell.rb
|
|
71
|
+
- app/cells/decidim/posts/reaction_menu/show.erb
|
|
72
|
+
- app/cells/decidim/posts/reaction_menu/styles.erb
|
|
73
|
+
- app/cells/decidim/posts/reaction_menu_cell.rb
|
|
74
|
+
- app/cells/decidim/posts/reactions/show.erb
|
|
75
|
+
- app/cells/decidim/posts/reactions_cell.rb
|
|
76
|
+
- app/commands/decidim/posts/add_reaction_to_resource.rb
|
|
77
|
+
- app/commands/decidim/posts/create_post.rb
|
|
78
|
+
- app/commands/decidim/posts/destroy_post.rb
|
|
79
|
+
- app/commands/decidim/posts/remove_reaction_from_resource.rb
|
|
80
|
+
- app/commands/decidim/posts/update_post.rb
|
|
81
|
+
- app/controllers/concerns/decidim/posts/admin/filterable.rb
|
|
82
|
+
- app/controllers/concerns/decidim/posts/reactionable.rb
|
|
83
|
+
- app/controllers/decidim/posts/admin/application_controller.rb
|
|
84
|
+
- app/controllers/decidim/posts/admin/posts_controller.rb
|
|
85
|
+
- app/controllers/decidim/posts/application_controller.rb
|
|
86
|
+
- app/controllers/decidim/posts/meetings_controller.rb
|
|
87
|
+
- app/controllers/decidim/posts/posts_controller.rb
|
|
88
|
+
- app/controllers/decidim/posts/reactions_controller.rb
|
|
89
|
+
- app/controllers/decidim/posts/user_answers_controller.rb
|
|
90
|
+
- app/events/decidim/posts/resource_reacted_event.rb
|
|
91
|
+
- app/forms/decidim/posts/answer_form.rb
|
|
92
|
+
- app/forms/decidim/posts/post_form.rb
|
|
93
|
+
- app/forms/decidim/posts/question_form.rb
|
|
94
|
+
- app/helpers/decidim/posts/admin/posts_helper.rb
|
|
95
|
+
- app/helpers/decidim/posts/application_helper.rb
|
|
96
|
+
- app/helpers/decidim/posts/post_cells_helper.rb
|
|
97
|
+
- app/helpers/decidim/posts/posts_helper.rb
|
|
98
|
+
- app/helpers/decidim/posts/reaction_helper.rb
|
|
99
|
+
- app/models/decidim/posts/answer.rb
|
|
100
|
+
- app/models/decidim/posts/application_record.rb
|
|
101
|
+
- app/models/decidim/posts/post.rb
|
|
102
|
+
- app/models/decidim/posts/question.rb
|
|
103
|
+
- app/models/decidim/posts/reaction.rb
|
|
104
|
+
- app/models/decidim/posts/reaction_type.rb
|
|
105
|
+
- app/models/decidim/posts/user_answer.rb
|
|
106
|
+
- app/packs/entrypoints/decidim_posts.js
|
|
107
|
+
- app/packs/entrypoints/decidim_posts.scss
|
|
108
|
+
- app/packs/images/decidim/posts/icon.svg
|
|
109
|
+
- app/packs/src/decidim/posts/carousel.js
|
|
110
|
+
- app/packs/src/decidim/posts/host_status.js
|
|
111
|
+
- app/packs/src/decidim/posts/newFeeds.js
|
|
112
|
+
- app/packs/src/decidim/posts/posts.js
|
|
113
|
+
- app/packs/src/decidim/posts/submenu.js
|
|
114
|
+
- app/packs/src/decidim/posts/survey.js
|
|
115
|
+
- app/packs/stylesheets/decidim/posts/_variables.scss
|
|
116
|
+
- app/packs/stylesheets/decidim/posts/posts.scss
|
|
117
|
+
- app/permissions/decidim/posts/admin/permissions.rb
|
|
118
|
+
- app/permissions/decidim/posts/permissions.rb
|
|
119
|
+
- app/presenters/decidim/posts/post_presenter.rb
|
|
120
|
+
- app/views/decidim/posts/admin/posts/_post-tr.html.erb
|
|
121
|
+
- app/views/decidim/posts/admin/posts/index.html.erb
|
|
122
|
+
- app/views/decidim/posts/meetings/edit.html.erb
|
|
123
|
+
- app/views/decidim/posts/posts/_admin_options.html.erb
|
|
124
|
+
- app/views/decidim/posts/posts/_attachment.html.erb
|
|
125
|
+
- app/views/decidim/posts/posts/_edit_form.html.erb
|
|
126
|
+
- app/views/decidim/posts/posts/_feed.html.erb
|
|
127
|
+
- app/views/decidim/posts/posts/_form.html.erb
|
|
128
|
+
- app/views/decidim/posts/posts/_index.html.erb
|
|
129
|
+
- app/views/decidim/posts/posts/_meeting_form.erb
|
|
130
|
+
- app/views/decidim/posts/posts/_new.html.erb
|
|
131
|
+
- app/views/decidim/posts/posts/_new_survey.html.erb
|
|
132
|
+
- app/views/decidim/posts/posts/_new_survey_answer.html.erb
|
|
133
|
+
- app/views/decidim/posts/posts/_new_survey_question.html.erb
|
|
134
|
+
- app/views/decidim/posts/posts/_post.html.erb
|
|
135
|
+
- app/views/decidim/posts/posts/_post_form.html.erb
|
|
136
|
+
- app/views/decidim/posts/posts/_sidebar.html.erb
|
|
137
|
+
- app/views/decidim/posts/posts/edit.html.erb
|
|
138
|
+
- app/views/decidim/posts/posts/index.html.erb
|
|
139
|
+
- app/views/decidim/posts/posts/show.html.erb
|
|
140
|
+
- app/views/decidim/posts/reactions/_update_buttons_and_counters.html.erb
|
|
141
|
+
- config/assets.rb
|
|
142
|
+
- config/i18n-tasks.yml
|
|
143
|
+
- config/locales/bs.yml
|
|
144
|
+
- config/locales/de.yml
|
|
145
|
+
- config/locales/en.yml
|
|
146
|
+
- config/locales/hr.yml
|
|
147
|
+
- config/locales/it.yml
|
|
148
|
+
- config/locales/sr.yml
|
|
149
|
+
- config/locales/tr.yml
|
|
150
|
+
- lib/decidim/posts.rb
|
|
151
|
+
- lib/decidim/posts/admin.rb
|
|
152
|
+
- lib/decidim/posts/admin_engine.rb
|
|
153
|
+
- lib/decidim/posts/component.rb
|
|
154
|
+
- lib/decidim/posts/content_blocks/content_blocks_homepage.rb
|
|
155
|
+
- lib/decidim/posts/engine.rb
|
|
156
|
+
- lib/decidim/posts/test/factories.rb
|
|
157
|
+
- lib/decidim/posts/version.rb
|
|
158
|
+
homepage: https://github.com/DecidimAustria/decidim-module-posts/
|
|
159
|
+
licenses:
|
|
160
|
+
- AGPL-3.0
|
|
161
|
+
metadata:
|
|
162
|
+
bug_tracker_uri: https://github.com/DecidimAustria/decidim-module-posts/issues
|
|
163
|
+
source_code_uri: https://github.com/DecidimAustria/decidim-module-posts/
|
|
164
|
+
post_install_message:
|
|
165
|
+
rdoc_options: []
|
|
166
|
+
require_paths:
|
|
167
|
+
- lib
|
|
168
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
169
|
+
requirements:
|
|
170
|
+
- - ">="
|
|
171
|
+
- !ruby/object:Gem::Version
|
|
172
|
+
version: '3.1'
|
|
173
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
|
+
requirements:
|
|
175
|
+
- - ">="
|
|
176
|
+
- !ruby/object:Gem::Version
|
|
177
|
+
version: '0'
|
|
178
|
+
requirements: []
|
|
179
|
+
rubygems_version: 3.3.27
|
|
180
|
+
signing_key:
|
|
181
|
+
specification_version: 4
|
|
182
|
+
summary: A social posts decidim component
|
|
183
|
+
test_files: []
|