decidim-consultations 0.17.2 → 0.18.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 +4 -4
- data/app/assets/stylesheets/decidim/consultations/_question.scss +13 -0
- data/app/controllers/concerns/decidim/consultations/admin/consultation_admin.rb +6 -4
- data/app/controllers/concerns/decidim/consultations/admin/question_admin.rb +6 -4
- data/app/controllers/concerns/decidim/consultations/needs_question.rb +29 -1
- data/app/controllers/decidim/consultations/admin/application_controller.rb +5 -4
- data/app/controllers/decidim/consultations/application_controller.rb +6 -5
- data/app/controllers/decidim/consultations/question_votes_controller.rb +2 -0
- data/app/helpers/decidim/consultations/consultations_helper.rb +14 -0
- data/app/helpers/decidim/consultations/questions_helper.rb +27 -0
- data/app/models/decidim/consultation.rb +4 -0
- data/app/views/decidim/consultations/consultations/_question.html.erb +1 -3
- data/app/views/decidim/consultations/questions/_vote_button.html.erb +16 -2
- data/config/locales/ar-SA.yml +2 -0
- data/config/locales/ar.yml +338 -0
- data/config/locales/ca.yml +2 -0
- data/config/locales/en.yml +2 -0
- data/config/locales/es-MX.yml +2 -0
- data/config/locales/es-PY.yml +2 -0
- data/config/locales/es.yml +2 -0
- data/config/locales/fi-plain.yml +2 -0
- data/config/locales/fi.yml +2 -0
- data/config/locales/hu.yml +2 -0
- data/config/locales/it.yml +2 -0
- data/config/locales/sv.yml +2 -0
- data/config/locales/tr-TR.yml +2 -0
- data/lib/decidim/consultations/version.rb +1 -1
- metadata +11 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6f20b678e3e2104f44e087ba0e3c9690d38c98d4c6279e4f2f356cf57be3159b
|
|
4
|
+
data.tar.gz: 3d348f432a274816bf9cb7b3f5da267940fd5a4f3d374219f9fb5f6140bb2a17
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4c05aa3c7c931ef363a6a16d52f6816665b0467c8c1bdf6931e5086c9b57e251bada3a8c714e9370813175cc75a5ccc4bb5db2e139bb16ae5d8370d233a2f7fe
|
|
7
|
+
data.tar.gz: 5526108703fe5d0bcdd8ef6e5203cf0ae5d83a1b510f3ea89f695b21a64612380f49b18a042fc870a6629f6aeb5be963e7efcafa892590e370e059d12d59c7cf
|
|
@@ -36,6 +36,9 @@
|
|
|
36
36
|
|
|
37
37
|
.question-vote-cabin{
|
|
38
38
|
margin-bottom: 3em;
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: center;
|
|
39
42
|
|
|
40
43
|
.vote-button-caption{
|
|
41
44
|
font-size: 1.5em;
|
|
@@ -43,4 +46,14 @@
|
|
|
43
46
|
font-weight: bold;
|
|
44
47
|
color: white;
|
|
45
48
|
}
|
|
49
|
+
|
|
50
|
+
.small-buttons div{
|
|
51
|
+
margin-top: 1em;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.consultations-card{
|
|
56
|
+
.button.expanded.button--sc.success{
|
|
57
|
+
color: white;
|
|
58
|
+
}
|
|
46
59
|
}
|
|
@@ -11,6 +11,11 @@ module Decidim
|
|
|
11
11
|
module ConsultationAdmin
|
|
12
12
|
extend ActiveSupport::Concern
|
|
13
13
|
|
|
14
|
+
RegistersPermissions
|
|
15
|
+
.register_permissions(::Decidim::Consultations::Admin::ConsultationAdmin,
|
|
16
|
+
::Decidim::Consultations::Permissions,
|
|
17
|
+
::Decidim::Admin::Permissions)
|
|
18
|
+
|
|
14
19
|
included do
|
|
15
20
|
include NeedsConsultation
|
|
16
21
|
|
|
@@ -19,10 +24,7 @@ module Decidim
|
|
|
19
24
|
alias_method :current_participatory_space, :current_consultation
|
|
20
25
|
|
|
21
26
|
def permission_class_chain
|
|
22
|
-
|
|
23
|
-
Decidim::Consultations::Permissions,
|
|
24
|
-
Decidim::Admin::Permissions
|
|
25
|
-
]
|
|
27
|
+
PermissionsRegistry.chain_for(ConsultationAdmin)
|
|
26
28
|
end
|
|
27
29
|
end
|
|
28
30
|
end
|
|
@@ -11,6 +11,11 @@ module Decidim
|
|
|
11
11
|
module QuestionAdmin
|
|
12
12
|
extend ActiveSupport::Concern
|
|
13
13
|
|
|
14
|
+
RegistersPermissions
|
|
15
|
+
.register_permissions(::Decidim::Consultations::Admin::QuestionAdmin,
|
|
16
|
+
::Decidim::Consultations::Permissions,
|
|
17
|
+
::Decidim::Admin::Permissions)
|
|
18
|
+
|
|
14
19
|
included do
|
|
15
20
|
include NeedsQuestion
|
|
16
21
|
|
|
@@ -23,10 +28,7 @@ module Decidim
|
|
|
23
28
|
end
|
|
24
29
|
|
|
25
30
|
def permission_class_chain
|
|
26
|
-
|
|
27
|
-
Decidim::Consultations::Permissions,
|
|
28
|
-
Decidim::Admin::Permissions
|
|
29
|
-
]
|
|
31
|
+
PermissionsRegistry.chain_for(QuestionAdmin)
|
|
30
32
|
end
|
|
31
33
|
end
|
|
32
34
|
end
|
|
@@ -7,7 +7,7 @@ module Decidim
|
|
|
7
7
|
module NeedsQuestion
|
|
8
8
|
def self.enhance_controller(instance_or_module)
|
|
9
9
|
instance_or_module.class_eval do
|
|
10
|
-
helper_method :current_question, :current_consultation, :current_participatory_space, :stats,
|
|
10
|
+
helper_method :current_question, :previous_question, :next_question, :current_consultation, :current_participatory_space, :stats,
|
|
11
11
|
:sorted_results
|
|
12
12
|
|
|
13
13
|
helper Decidim::WidgetUrlsHelper
|
|
@@ -35,6 +35,26 @@ module Decidim
|
|
|
35
35
|
@current_question ||= detect_question
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
+
# Public: Finds the previous Question in the Array of questions
|
|
39
|
+
# associated to the current_question's consultation.
|
|
40
|
+
#
|
|
41
|
+
# Returns the previous Question in the Array or nil if out of bounds.
|
|
42
|
+
def previous_question
|
|
43
|
+
return nil if (current_question_index - 1).negative?
|
|
44
|
+
|
|
45
|
+
current_consultation_questions.at(current_question_index - 1)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Public: Finds the next Question in the Array of questions
|
|
49
|
+
# associated to the current_question's consultation.
|
|
50
|
+
#
|
|
51
|
+
# Returns the next Question in the Array or nil if out of bounds.
|
|
52
|
+
def next_question
|
|
53
|
+
return nil if current_question_index + 1 >= current_consultation_questions.size
|
|
54
|
+
|
|
55
|
+
current_consultation_questions.at(current_question_index + 1)
|
|
56
|
+
end
|
|
57
|
+
|
|
38
58
|
# Public: Finds the current Consultation given this controller's
|
|
39
59
|
# context.
|
|
40
60
|
#
|
|
@@ -64,6 +84,14 @@ module Decidim
|
|
|
64
84
|
def stats
|
|
65
85
|
@stats ||= QuestionStatsPresenter.new(question: current_question)
|
|
66
86
|
end
|
|
87
|
+
|
|
88
|
+
def current_consultation_questions
|
|
89
|
+
@current_consultation_questions ||= current_question.consultation.questions.to_a
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def current_question_index
|
|
93
|
+
current_consultation_questions.find_index(current_question)
|
|
94
|
+
end
|
|
67
95
|
end
|
|
68
96
|
end
|
|
69
97
|
end
|
|
@@ -11,13 +11,14 @@ module Decidim
|
|
|
11
11
|
|
|
12
12
|
include NeedsPermission
|
|
13
13
|
|
|
14
|
+
register_permissions(::Decidim::Consultations::Admin::ApplicationController,
|
|
15
|
+
Decidim::Consultations::Permissions,
|
|
16
|
+
Decidim::Admin::Permissions)
|
|
17
|
+
|
|
14
18
|
private
|
|
15
19
|
|
|
16
20
|
def permission_class_chain
|
|
17
|
-
|
|
18
|
-
Decidim::Consultations::Permissions,
|
|
19
|
-
Decidim::Admin::Permissions
|
|
20
|
-
]
|
|
21
|
+
::Decidim.permissions_registry.chain_for(::Decidim::Consultations::Admin::ApplicationController)
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
def permission_scope
|
|
@@ -7,14 +7,15 @@ module Decidim
|
|
|
7
7
|
class ApplicationController < Decidim::ApplicationController
|
|
8
8
|
include NeedsPermission
|
|
9
9
|
|
|
10
|
+
register_permissions(::Decidim::Consultations::ApplicationController,
|
|
11
|
+
Decidim::Consultations::Permissions,
|
|
12
|
+
Decidim::Admin::Permissions,
|
|
13
|
+
Decidim::Permissions)
|
|
14
|
+
|
|
10
15
|
private
|
|
11
16
|
|
|
12
17
|
def permission_class_chain
|
|
13
|
-
|
|
14
|
-
Decidim::Consultations::Permissions,
|
|
15
|
-
Decidim::Admin::Permissions,
|
|
16
|
-
Decidim::Permissions
|
|
17
|
-
]
|
|
18
|
+
::Decidim.permissions_registry.chain_for(::Decidim::Consultations::ApplicationController)
|
|
18
19
|
end
|
|
19
20
|
|
|
20
21
|
def permission_scope
|
|
@@ -12,6 +12,20 @@ module Decidim
|
|
|
12
12
|
["finished", t("consultations.filters.finished", scope: "decidim")]
|
|
13
13
|
]
|
|
14
14
|
end
|
|
15
|
+
|
|
16
|
+
# Returns a link to the given question with different text/appearence
|
|
17
|
+
# depending on whether the user has voted it or not.
|
|
18
|
+
def display_take_part_button_for(question)
|
|
19
|
+
if current_user && question.voted_by?(current_user)
|
|
20
|
+
i18n_text = t("already_voted", scope: "decidim.questions.vote_button")
|
|
21
|
+
css = "button expanded button--sc success"
|
|
22
|
+
else
|
|
23
|
+
i18n_text = t("take_part", scope: "decidim.consultations.question")
|
|
24
|
+
css = "button expanded button--sc"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
link_to(i18n_text, decidim_consultations.question_path(question), class: css)
|
|
28
|
+
end
|
|
15
29
|
end
|
|
16
30
|
end
|
|
17
31
|
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Decidim
|
|
4
|
+
module Consultations
|
|
5
|
+
# Helper for questions controller
|
|
6
|
+
module QuestionsHelper
|
|
7
|
+
# Returns a link to the next/previous question if found.
|
|
8
|
+
# Else, returns a disabled link to the current question.
|
|
9
|
+
def display_next_previous_button(direction, optional_classes = "")
|
|
10
|
+
css = "card__button button hollow " + optional_classes
|
|
11
|
+
|
|
12
|
+
case direction
|
|
13
|
+
when :previous
|
|
14
|
+
i18n_text = t("previous_button", scope: "decidim.questions")
|
|
15
|
+
question = previous_question || current_question
|
|
16
|
+
css << " disabled" if previous_question.nil?
|
|
17
|
+
when :next
|
|
18
|
+
i18n_text = t("next_button", scope: "decidim.questions")
|
|
19
|
+
question = next_question || current_question
|
|
20
|
+
css << " disabled" if next_question.nil?
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
link_to(i18n_text, decidim_consultations.question_path(question), class: css)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -28,9 +28,7 @@
|
|
|
28
28
|
<% end %>
|
|
29
29
|
<% end %>
|
|
30
30
|
<% else %>
|
|
31
|
-
<%=
|
|
32
|
-
decidim_consultations.question_path(question),
|
|
33
|
-
class: "button expanded button--sc" %>
|
|
31
|
+
<%= display_take_part_button_for(question) %>
|
|
34
32
|
<% end %>
|
|
35
33
|
</div>
|
|
36
34
|
</div>
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
<div class="row question-vote-cabin">
|
|
2
|
-
<div class="columns mediumlarge-4 mediumlarge-
|
|
1
|
+
<div class="row column question-vote-cabin">
|
|
2
|
+
<div class="columns mediumlarge-4 show-for-mediumlarge previous-question">
|
|
3
|
+
<%= display_next_previous_button(:previous, "float-left") %>
|
|
4
|
+
</div>
|
|
5
|
+
<div class="columns mediumlarge-4">
|
|
3
6
|
<% if question.consultation.upcoming? %>
|
|
4
7
|
<div class="card__button button expanded disabled">
|
|
5
8
|
<div class="vote-button-caption"><%= t("questions.vote_button.vote", scope: "decidim") %></div>
|
|
@@ -50,6 +53,17 @@
|
|
|
50
53
|
<% end %>
|
|
51
54
|
<% end %>
|
|
52
55
|
</div>
|
|
56
|
+
<div class="columns mediumlarge-4 show-for-mediumlarge next-question">
|
|
57
|
+
<%= display_next_previous_button(:next, "float-right") %>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="small-buttons">
|
|
60
|
+
<div class="columns small-6 hide-for-mediumlarge previous-question">
|
|
61
|
+
<%= display_next_previous_button(:previous, "expanded") %>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="columns small-6 hide-for-mediumlarge next-question">
|
|
64
|
+
<%= display_next_previous_button(:next, "expanded") %>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
53
67
|
</div>
|
|
54
68
|
|
|
55
69
|
<%= render partial: "decidim/consultations/questions/vote_modal", locals: { question: question } %>
|
data/config/locales/ar-SA.yml
CHANGED
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
ar:
|
|
2
|
+
activemodel:
|
|
3
|
+
attributes:
|
|
4
|
+
consultation:
|
|
5
|
+
banner_image: صورة بانر
|
|
6
|
+
decidim_highlighted_scope_id: نطاق الضوء
|
|
7
|
+
description: وصف
|
|
8
|
+
end_voting_date: ينتهي التصويت
|
|
9
|
+
introductory_image: صورة تمهيدية
|
|
10
|
+
introductory_video_url: عنوان URL للفيديو التمهيدي
|
|
11
|
+
questions: الأسئلة
|
|
12
|
+
slug: سبيكة العنوان الشبكي
|
|
13
|
+
start_voting_date: يبدأ التصويت
|
|
14
|
+
subtitle: عنوان فرعي
|
|
15
|
+
title: عنوان
|
|
16
|
+
question:
|
|
17
|
+
banner_image: صورة بانر
|
|
18
|
+
decidim_scope_id: منطقة البلدية
|
|
19
|
+
hashtag: رابطة هاشتاق
|
|
20
|
+
hero_image: الصورة الرئيسية
|
|
21
|
+
i_frame_url: عنوان URL لنظام التصويت الخارجي
|
|
22
|
+
origin_scope: نطاق
|
|
23
|
+
origin_title: الأصل
|
|
24
|
+
origin_url: العنوان الشبكي الأصلي
|
|
25
|
+
participatory_scope: نطاق المشاركة
|
|
26
|
+
promoter_group: مجموعة المروجين
|
|
27
|
+
question_context: سياق الكلام
|
|
28
|
+
reference: مرجع
|
|
29
|
+
scope: منطقة البلدية
|
|
30
|
+
slug: سبيكة العنوان الشبكي
|
|
31
|
+
subtitle: عنوان فرعي
|
|
32
|
+
title: عنوان
|
|
33
|
+
vote: نظام التصويت الخارجي
|
|
34
|
+
what_is_decided: ما الذي تقرر
|
|
35
|
+
errors:
|
|
36
|
+
vote:
|
|
37
|
+
decidim_consultations_response_id:
|
|
38
|
+
not_found: الرد غير موجود.
|
|
39
|
+
activerecord:
|
|
40
|
+
models:
|
|
41
|
+
decidim/consultation:
|
|
42
|
+
zero: المشاورات
|
|
43
|
+
one: تشاور
|
|
44
|
+
two: المشاورات
|
|
45
|
+
few: المشاورات
|
|
46
|
+
many: المشاورات
|
|
47
|
+
other: المشاورات
|
|
48
|
+
decidim/consultations/question:
|
|
49
|
+
zero: الأسئلة
|
|
50
|
+
one: سؤال
|
|
51
|
+
two: الأسئلة
|
|
52
|
+
few: الأسئلة
|
|
53
|
+
many: الأسئلة
|
|
54
|
+
other: الأسئلة
|
|
55
|
+
decidim/consultations/response:
|
|
56
|
+
zero: استجابات
|
|
57
|
+
one: استجابة
|
|
58
|
+
two: استجابات
|
|
59
|
+
few: استجابات
|
|
60
|
+
many: استجابات
|
|
61
|
+
other: استجابات
|
|
62
|
+
decidim/consultations/vote:
|
|
63
|
+
zero: الأصوات
|
|
64
|
+
one: تصويت
|
|
65
|
+
two: الأصوات
|
|
66
|
+
few: الأصوات
|
|
67
|
+
many: الأصوات
|
|
68
|
+
other: الأصوات
|
|
69
|
+
decidim:
|
|
70
|
+
admin:
|
|
71
|
+
actions:
|
|
72
|
+
new_consultation: استشارة جديدة
|
|
73
|
+
new_question: سؤال جديد
|
|
74
|
+
new_response: استجابة جديدة
|
|
75
|
+
publish_results: نشر النتائج
|
|
76
|
+
unpublish_results: نتائج غير منشورة
|
|
77
|
+
consultation_publications:
|
|
78
|
+
create:
|
|
79
|
+
error: كانت هناك مشكلة في نشر هذه المشاورة.
|
|
80
|
+
success: التشاور نشر بنجاح.
|
|
81
|
+
destroy:
|
|
82
|
+
error: كانت هناك مشكلة في إلغاء نشر هذه المشاورة.
|
|
83
|
+
success: التشاور غير منشورة بنجاح.
|
|
84
|
+
consultation_results_publications:
|
|
85
|
+
create:
|
|
86
|
+
error: كانت هناك مشكلة في نشر نتائج هذه المشاورة.
|
|
87
|
+
success: تم نشر نتائج الاستشارة بنجاح.
|
|
88
|
+
destroy:
|
|
89
|
+
error: كانت هناك مشكلة في إلغاء نشر نتائج هذه المشاورة.
|
|
90
|
+
success: نتائج التشاور غير منشورة بنجاح.
|
|
91
|
+
consultations:
|
|
92
|
+
create:
|
|
93
|
+
error: كانت هناك مشكلة في إنشاء استشارة جديدة.
|
|
94
|
+
success: تم إنشاء التشاور بنجاح.
|
|
95
|
+
edit:
|
|
96
|
+
update: تحديث
|
|
97
|
+
form:
|
|
98
|
+
slug_help: 'يتم استخدام slugs URL لإنشاء عناوين URL التي تشير إلى هذا التشاور. يقبل الحروف والأرقام والشرطات فقط ، ويجب أن يبدأ بحرف. مثال: %{url}'
|
|
99
|
+
title: معلومات عامة
|
|
100
|
+
index:
|
|
101
|
+
not_published: غير منشور
|
|
102
|
+
published: نشرت
|
|
103
|
+
new:
|
|
104
|
+
create: إنشاء
|
|
105
|
+
title: استشارة جديدة
|
|
106
|
+
update:
|
|
107
|
+
error: كانت هناك مشكلة في تحديث هذه المشاورة.
|
|
108
|
+
success: تم تحديث المشاورة بنجاح.
|
|
109
|
+
menu:
|
|
110
|
+
consultations: المشاورات
|
|
111
|
+
consultations_submenu:
|
|
112
|
+
info: معلومات
|
|
113
|
+
questions: الأسئلة
|
|
114
|
+
questions_submenu:
|
|
115
|
+
components: المكونات
|
|
116
|
+
consultation: تشاور
|
|
117
|
+
info: معلومات
|
|
118
|
+
responses: استجابات
|
|
119
|
+
models:
|
|
120
|
+
consultation:
|
|
121
|
+
fields:
|
|
122
|
+
created_at: أنشئت في
|
|
123
|
+
published: نشرت
|
|
124
|
+
title: عنوان
|
|
125
|
+
name:
|
|
126
|
+
zero: المشاورات
|
|
127
|
+
one: تشاور
|
|
128
|
+
two: المشاورات
|
|
129
|
+
few: المشاورات
|
|
130
|
+
many: المشاورات
|
|
131
|
+
other: المشاورات
|
|
132
|
+
question:
|
|
133
|
+
fields:
|
|
134
|
+
created_at: أنشئت في
|
|
135
|
+
published: نشرت
|
|
136
|
+
title: عنوان
|
|
137
|
+
name:
|
|
138
|
+
zero: الأسئلة
|
|
139
|
+
one: سؤال
|
|
140
|
+
two: الأسئلة
|
|
141
|
+
few: الأسئلة
|
|
142
|
+
many: الأسئلة
|
|
143
|
+
other: الأسئلة
|
|
144
|
+
response:
|
|
145
|
+
fields:
|
|
146
|
+
created_at: أنشئت في
|
|
147
|
+
title: عنوان
|
|
148
|
+
name:
|
|
149
|
+
zero: استجابات
|
|
150
|
+
one: استجابة
|
|
151
|
+
two: استجابات
|
|
152
|
+
few: استجابات
|
|
153
|
+
many: استجابات
|
|
154
|
+
other: استجابات
|
|
155
|
+
question_publications:
|
|
156
|
+
create:
|
|
157
|
+
error: حدثت مشكلة في نشر هذا السؤال.
|
|
158
|
+
success: تم نشر السؤال بنجاح.
|
|
159
|
+
destroy:
|
|
160
|
+
error: كانت هناك مشكلة في إلغاء نشر هذا السؤال.
|
|
161
|
+
success: السؤال غير منشور بنجاح.
|
|
162
|
+
questions:
|
|
163
|
+
create:
|
|
164
|
+
error: كانت هناك مشكلة في إنشاء سؤال جديد.
|
|
165
|
+
success: تم إنشاء السؤال بنجاح.
|
|
166
|
+
destroy:
|
|
167
|
+
success: تم حذف السؤال بنجاح.
|
|
168
|
+
edit:
|
|
169
|
+
update: تحديث
|
|
170
|
+
form:
|
|
171
|
+
title: معلومات عامة
|
|
172
|
+
index:
|
|
173
|
+
not_published: غير منشور
|
|
174
|
+
published: نشرت
|
|
175
|
+
new:
|
|
176
|
+
create: إنشاء
|
|
177
|
+
title: سؤال جديد
|
|
178
|
+
update:
|
|
179
|
+
error: حدثت مشكلة أثناء تحديث هذا السؤال.
|
|
180
|
+
success: تم تحديث السؤال بنجاح.
|
|
181
|
+
responses:
|
|
182
|
+
create:
|
|
183
|
+
error: كانت هناك مشكلة في إنشاء استجابة جديدة.
|
|
184
|
+
success: تم إنشاء الاستجابة بنجاح.
|
|
185
|
+
destroy:
|
|
186
|
+
error: حدثت مشكلة أثناء إزالة الاستجابة.
|
|
187
|
+
success: تم حذف الرد بنجاح.
|
|
188
|
+
edit:
|
|
189
|
+
update: تحديث
|
|
190
|
+
form:
|
|
191
|
+
title: معلومات عامة
|
|
192
|
+
new:
|
|
193
|
+
create: إنشاء
|
|
194
|
+
title: استجابة جديدة
|
|
195
|
+
update:
|
|
196
|
+
error: حدثت مشكلة أثناء تحديث هذه الاستجابة.
|
|
197
|
+
success: تم تحديث الاستجابة بنجاح.
|
|
198
|
+
titles:
|
|
199
|
+
consultations: المشاورات
|
|
200
|
+
questions: الأسئلة
|
|
201
|
+
responses: استجابات
|
|
202
|
+
consultations:
|
|
203
|
+
admin:
|
|
204
|
+
content_blocks:
|
|
205
|
+
highlighted_consultations:
|
|
206
|
+
max_results: أقصى قدر من العناصر لإظهارها
|
|
207
|
+
consultation:
|
|
208
|
+
start_voting_date: يبدأ التصويت
|
|
209
|
+
view_results: عرض النتائج
|
|
210
|
+
consultation_card:
|
|
211
|
+
view_results: عرض النتائج
|
|
212
|
+
consultations:
|
|
213
|
+
orders:
|
|
214
|
+
label: 'ترتيب المشاورات حسب:'
|
|
215
|
+
random: عشوائية
|
|
216
|
+
recent: الأحدث
|
|
217
|
+
content_blocks:
|
|
218
|
+
highlighted_consultations:
|
|
219
|
+
name: مشاورات أبرزت
|
|
220
|
+
count:
|
|
221
|
+
title:
|
|
222
|
+
zero: "%{count} مشاورات"
|
|
223
|
+
one: "%{count} التشاور"
|
|
224
|
+
two: "%{count} مشاورات"
|
|
225
|
+
few: "%{count} مشاورات"
|
|
226
|
+
many: "%{count} مشاورات"
|
|
227
|
+
other: "%{count} مشاورات"
|
|
228
|
+
filters:
|
|
229
|
+
active: نشيط
|
|
230
|
+
all: الكل
|
|
231
|
+
finished: تم الانتهاء من
|
|
232
|
+
search: بحث
|
|
233
|
+
state: الحالة
|
|
234
|
+
upcoming: القادمة
|
|
235
|
+
filters_small_view:
|
|
236
|
+
close_modal: أغلق النافذة
|
|
237
|
+
filter: منقي
|
|
238
|
+
filter_by: مصنف بواسطة
|
|
239
|
+
unfold: كشف
|
|
240
|
+
highlighted_questions:
|
|
241
|
+
title: أسئلة من %{scope_name}
|
|
242
|
+
index:
|
|
243
|
+
title: المشاورات
|
|
244
|
+
last_activity:
|
|
245
|
+
new_consultation: استشارة جديدة
|
|
246
|
+
new_question_at_html: "<span>سؤال جديد في %{link}</span>"
|
|
247
|
+
pages:
|
|
248
|
+
home:
|
|
249
|
+
highlighted_consultations:
|
|
250
|
+
active_consultations: مشاورات نشطة
|
|
251
|
+
see_all_consultations: انظر جميع المشاورات
|
|
252
|
+
voting_ends_in:
|
|
253
|
+
zero: ينتهي التصويت في <strong>%{count} يوم</strong>
|
|
254
|
+
one: ينتهي التصويت <strong>غدا</strong>
|
|
255
|
+
two: ينتهي التصويت في <strong>%{count} يوم</strong>
|
|
256
|
+
few: ينتهي التصويت في <strong>%{count} يوم</strong>
|
|
257
|
+
many: ينتهي التصويت في <strong>%{count} يوم</strong>
|
|
258
|
+
other: ينتهي التصويت في <strong>%{count} يوم</strong>
|
|
259
|
+
voting_ends_today: ينتهي التصويت <strong>اليوم</strong>
|
|
260
|
+
question:
|
|
261
|
+
take_part: خذ جزء
|
|
262
|
+
view_results: عرض النتائج
|
|
263
|
+
votes_out_of:
|
|
264
|
+
zero: يصوت من
|
|
265
|
+
one: التصويت خارج
|
|
266
|
+
two: يصوت من
|
|
267
|
+
few: يصوت من
|
|
268
|
+
many: يصوت من
|
|
269
|
+
other: يصوت من
|
|
270
|
+
question_votes:
|
|
271
|
+
create:
|
|
272
|
+
error: كانت هناك مشكلة في التصويت على السؤال
|
|
273
|
+
regular_questions:
|
|
274
|
+
title: أسئلة لهذا التشاور
|
|
275
|
+
show:
|
|
276
|
+
badge_name:
|
|
277
|
+
finished: تم الانتهاء من
|
|
278
|
+
open: افتح
|
|
279
|
+
open_votes: فتح الأصوات
|
|
280
|
+
published_results: النتائج المنشورة
|
|
281
|
+
footer_button_text:
|
|
282
|
+
debate: النقاش
|
|
283
|
+
view: رأي
|
|
284
|
+
view_results: عرض النتائج
|
|
285
|
+
vote: تصويت
|
|
286
|
+
unspecified: غير محدد
|
|
287
|
+
help:
|
|
288
|
+
participatory_spaces:
|
|
289
|
+
consultations:
|
|
290
|
+
contextual: "<p><strong>المشاورات</strong> هي مساحة تسمح لك بطرح سؤال واضح على جميع الأشخاص الذين يشكلون منظمة ، وتجري دعوة للمشاركة في المشاورة ، وإثارة النقاش وتأمره بالرد أو ضده. عندما يصل تاريخ الاستشارة ، يمكنك التصويت ونشر نتائج التصويت.</p> <p>أمثلة: يمكن أن تدور المشاورات حول أي جانب من الجوانب التي تؤثر على المنظمة تقريبًا: بعض الأمثلة تغير اسم أو شعار المنظمة التي تقدم عدة بدائل ، وتقرر نعم أو لا لتصبح جزءًا من منظمة أكبر ، أو تصادق على استراتيجية جديدة تخطيط أو نتيجة لمجموعة عمل ، أو تحديد ما إذا كان يجب أن تظل المناصب بحد أقصى 1 أو 2 أو 3 ولايات.</p>\n"
|
|
291
|
+
page: "<p><strong>المشاورات</strong> هي مساحة تسمح لك بطرح سؤال واضح على جميع الأشخاص الذين يشكلون منظمة ، وتجري دعوة للمشاركة في المشاورة ، وإثارة النقاش وتأمره بالرد أو ضده. عندما يصل تاريخ الاستشارة ، يمكنك التصويت ونشر نتائج التصويت.</p> <p>أمثلة: يمكن أن تدور المشاورات حول أي جانب من الجوانب التي تؤثر على المنظمة تقريبًا: بعض الأمثلة تغير اسم أو شعار المنظمة التي تقدم عدة بدائل ، وتقرر نعم أو لا لتصبح جزءًا من منظمة أكبر ، أو تصادق على استراتيجية جديدة أو ترفضها. تخطيط أو نتيجة لمجموعة عمل ، أو تحديد ما إذا كان ينبغي أن تظل المناصب بحد أقصى 1 أو 2 أو 3 ولايات في المنظمة.</p>\n"
|
|
292
|
+
title: ما هي المشاورات؟
|
|
293
|
+
menu:
|
|
294
|
+
consultations: المشاورات
|
|
295
|
+
pages:
|
|
296
|
+
home:
|
|
297
|
+
statistics:
|
|
298
|
+
consultations_count: المشاورات
|
|
299
|
+
questions:
|
|
300
|
+
next_button: السؤال التالي
|
|
301
|
+
previous_button: السؤال السابق
|
|
302
|
+
results:
|
|
303
|
+
title: النتائج
|
|
304
|
+
show:
|
|
305
|
+
read_more: قراءة المزيد
|
|
306
|
+
statistics:
|
|
307
|
+
assistants_count_title: مساعدين
|
|
308
|
+
comments_count_title: تعليقات
|
|
309
|
+
meetings_count_title: اجتماعات
|
|
310
|
+
supports_count_title: الأصوات
|
|
311
|
+
technical_info:
|
|
312
|
+
technical_data: معلومات تقنية
|
|
313
|
+
vote_button:
|
|
314
|
+
already_voted: صوت بالفعل
|
|
315
|
+
already_voted_hover: إلغاء التصويت
|
|
316
|
+
starting_from: بدءا من %{date}
|
|
317
|
+
vote: تصويت
|
|
318
|
+
vote_modal:
|
|
319
|
+
contextual_help: من فضلك ، حدد خيار.
|
|
320
|
+
title: 'التشاور: التصويت السؤال'
|
|
321
|
+
vote_modal_confirm:
|
|
322
|
+
change: يتغيرون
|
|
323
|
+
confirm: تؤكد
|
|
324
|
+
contextual_help: يرجى تأكيد الخيار المحدد.
|
|
325
|
+
title: 'التشاور: تأكيد التصويت'
|
|
326
|
+
layouts:
|
|
327
|
+
decidim:
|
|
328
|
+
admin:
|
|
329
|
+
question:
|
|
330
|
+
attachments: مرفقات
|
|
331
|
+
categories: الاقسام
|
|
332
|
+
consultation_voting_data:
|
|
333
|
+
start_voting_date: يبدأ التصويت
|
|
334
|
+
question_components:
|
|
335
|
+
question_menu_item: السؤال
|
|
336
|
+
unfold: كشف
|
|
337
|
+
question_header:
|
|
338
|
+
back_to_consultation: انظر جميع المشاورات
|
data/config/locales/ca.yml
CHANGED
data/config/locales/en.yml
CHANGED
data/config/locales/es-MX.yml
CHANGED
data/config/locales/es-PY.yml
CHANGED
data/config/locales/es.yml
CHANGED
data/config/locales/fi-plain.yml
CHANGED
data/config/locales/fi.yml
CHANGED
data/config/locales/hu.yml
CHANGED
data/config/locales/it.yml
CHANGED
data/config/locales/sv.yml
CHANGED
data/config/locales/tr-TR.yml
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: decidim-consultations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.18.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juan Salvador Perez Garcia
|
|
@@ -16,56 +16,56 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - '='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.
|
|
19
|
+
version: 0.18.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.
|
|
26
|
+
version: 0.18.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: decidim-comments
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - '='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
33
|
+
version: 0.18.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - '='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.
|
|
40
|
+
version: 0.18.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: decidim-core
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - '='
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.
|
|
47
|
+
version: 0.18.0
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - '='
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0.
|
|
54
|
+
version: 0.18.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: decidim-dev
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - '='
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.
|
|
61
|
+
version: 0.18.0
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - '='
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.
|
|
68
|
+
version: 0.18.0
|
|
69
69
|
description: Extends Decidim adding a first level public consultation component
|
|
70
70
|
email:
|
|
71
71
|
- jsperezg@gmail.com
|
|
@@ -154,6 +154,7 @@ files:
|
|
|
154
154
|
- app/helpers/decidim/consultations/admin/consultations_helper.rb
|
|
155
155
|
- app/helpers/decidim/consultations/admin/questions_helper.rb
|
|
156
156
|
- app/helpers/decidim/consultations/consultations_helper.rb
|
|
157
|
+
- app/helpers/decidim/consultations/questions_helper.rb
|
|
157
158
|
- app/models/concerns/decidim/consultations/override_categorization.rb
|
|
158
159
|
- app/models/concerns/decidim/consultations/publicable_results.rb
|
|
159
160
|
- app/models/decidim/consultation.rb
|
|
@@ -216,6 +217,7 @@ files:
|
|
|
216
217
|
- app/views/layouts/decidim/consultation_choose.html.erb
|
|
217
218
|
- app/views/layouts/decidim/question.html.erb
|
|
218
219
|
- config/locales/ar-SA.yml
|
|
220
|
+
- config/locales/ar.yml
|
|
219
221
|
- config/locales/ca.yml
|
|
220
222
|
- config/locales/cs-CZ.yml
|
|
221
223
|
- config/locales/cs.yml
|