decidim-participatory_processes 0.22.0 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/participatory_processes/process_m/footer.erb +3 -3
- data/app/cells/decidim/participatory_processes/process_m_cell.rb +19 -0
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +3 -3
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +10 -5
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_exports_controller.rb +4 -0
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_user_roles_controller.rb +2 -1
- data/app/controllers/decidim/participatory_processes/{participatory_process_widgets_controller.rb → widgets_controller.rb} +2 -2
- data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +5 -6
- data/app/forms/decidim/participatory_processes/admin/participatory_process_group_form.rb +4 -1
- data/app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb +3 -0
- data/app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb +8 -2
- data/app/helpers/decidim/participatory_processes/participatory_process_helper.rb +11 -0
- data/app/models/decidim/participatory_process.rb +13 -1
- data/app/models/decidim/participatory_process_group.rb +5 -0
- data/app/models/decidim/participatory_process_step.rb +3 -0
- data/app/queries/decidim/participatory_processes/stats_participants_count.rb +6 -4
- data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +6 -4
- data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +9 -4
- data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +1 -1
- data/app/views/layouts/decidim/participatory_process.html.erb +1 -0
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/bg.yml +19 -0
- data/config/locales/ca.yml +4 -1
- data/config/locales/cs.yml +3 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/en.yml +3 -0
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +3 -0
- data/config/locales/es-PY.yml +3 -0
- data/config/locales/es.yml +5 -2
- data/config/locales/et.yml +1 -0
- data/config/locales/fr-CA.yml +3 -0
- data/config/locales/fr.yml +9 -6
- data/config/locales/hr.yml +1 -0
- data/config/locales/is.yml +215 -0
- data/config/locales/it.yml +2 -2
- data/config/locales/ja-JP.yml +122 -122
- data/config/locales/ja.yml +445 -0
- data/config/locales/ko-KR.yml +1 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/{lv-LV.yml → lv.yml} +0 -0
- data/config/locales/mt.yml +1 -0
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +152 -152
- data/config/locales/sl.yml +4 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sv.yml +5 -2
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/vi-VN.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +445 -0
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20201006072346_fix_attachments_titles.rb +38 -0
- data/lib/decidim/participatory_processes/admin_engine.rb +1 -0
- data/lib/decidim/participatory_processes/engine.rb +1 -1
- data/lib/decidim/participatory_processes/participatory_space.rb +11 -11
- data/lib/decidim/participatory_processes/test/factories.rb +3 -3
- data/lib/decidim/participatory_processes/version.rb +1 -1
- metadata +32 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: faabe7f59e3cc5a0625d6a45979797b88f4cc246636eb815c0a88128679a750d
|
4
|
+
data.tar.gz: ef172c49e6002b52e0c56e457c76c68243fffbbef389b65493dc2b6c59b8f84e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3897d23fe32bec47ff1e0fc9e7901b22b7c2ff9fda14261ede73b8b599f6f48e193fa5293108b7bee55137c9c7720a57808379586c5d1e37b6c06f5aaa7c56b9
|
7
|
+
data.tar.gz: 27e519bfd6047e7bd91c71a5b7e2c0ec077becaa0e38a8c607844126077c01d5c50334e996c973db0c66074368e03400581d4d29eee36c23d629b5dd612ba6b7
|
@@ -6,9 +6,9 @@
|
|
6
6
|
<div class="text-ellipsis"><strong><%= step_title %></strong></div>
|
7
7
|
</div>
|
8
8
|
<% end %>
|
9
|
-
<%= link_to(
|
10
|
-
<span class="show-for-sr"><%=
|
11
|
-
<%=
|
9
|
+
<%= link_to(step_cta_path, class: "card__button button button--sc small") do %>
|
10
|
+
<span class="show-for-sr"><%= step_cta_text %></span>
|
11
|
+
<%= step_cta_text %>
|
12
12
|
<% end %>
|
13
13
|
</div>
|
14
14
|
</div>
|
@@ -6,6 +6,7 @@ module Decidim
|
|
6
6
|
# for an given instance of a Process
|
7
7
|
class ProcessMCell < Decidim::CardMCell
|
8
8
|
include Decidim::SanitizeHelper
|
9
|
+
include Decidim::TranslationsHelper
|
9
10
|
|
10
11
|
private
|
11
12
|
|
@@ -39,6 +40,24 @@ module Decidim
|
|
39
40
|
model.hero_image.url
|
40
41
|
end
|
41
42
|
|
43
|
+
def step_cta_text
|
44
|
+
if translated_in_current_locale?(model.active_step&.cta_text)
|
45
|
+
translated_attribute(model.active_step.cta_text)
|
46
|
+
else
|
47
|
+
t(model.cta_button_text_key_accessible, resource_name: title, scope: "layouts.decidim.participatory_processes.participatory_process")
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def step_cta_path
|
52
|
+
if model.active_step&.cta_path.present?
|
53
|
+
path, params = resource_path.split("?")
|
54
|
+
|
55
|
+
"#{path}/#{model.active_step.cta_path}" + (params.present? ? "?#{params}" : "")
|
56
|
+
else
|
57
|
+
resource_path
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
42
61
|
def step_title
|
43
62
|
translated_attribute model.active_step.title
|
44
63
|
end
|
data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb
CHANGED
@@ -45,11 +45,11 @@ module Decidim
|
|
45
45
|
form.current_user
|
46
46
|
) do
|
47
47
|
ParticipatoryProcessGroup.create(
|
48
|
+
organization: form.current_organization,
|
48
49
|
name: form.name,
|
49
50
|
description: form.description,
|
50
|
-
hero_image: form.hero_image,
|
51
|
-
participatory_processes: participatory_processes
|
52
|
-
organization: form.current_organization
|
51
|
+
hero_image: form.hero_image, # Keep after organization
|
52
|
+
participatory_processes: participatory_processes
|
53
53
|
)
|
54
54
|
end
|
55
55
|
end
|
@@ -57,10 +57,6 @@ module Decidim
|
|
57
57
|
subtitle: form.subtitle,
|
58
58
|
slug: form.slug,
|
59
59
|
hashtag: form.hashtag,
|
60
|
-
hero_image: form.hero_image,
|
61
|
-
remove_hero_image: form.remove_hero_image,
|
62
|
-
banner_image: form.banner_image,
|
63
|
-
remove_banner_image: form.remove_banner_image,
|
64
60
|
promoted: form.promoted,
|
65
61
|
description: form.description,
|
66
62
|
short_description: form.short_description,
|
@@ -81,7 +77,16 @@ module Decidim
|
|
81
77
|
show_metrics: form.show_metrics,
|
82
78
|
show_statistics: form.show_statistics,
|
83
79
|
announcement: form.announcement
|
84
|
-
}
|
80
|
+
}.merge(uploader_attributes)
|
81
|
+
end
|
82
|
+
|
83
|
+
def uploader_attributes
|
84
|
+
{
|
85
|
+
hero_image: form.hero_image,
|
86
|
+
remove_hero_image: form.remove_hero_image,
|
87
|
+
banner_image: form.banner_image,
|
88
|
+
remove_banner_image: form.remove_banner_image
|
89
|
+
}.delete_if { |_k, val| val.is_a?(Decidim::ApplicationUploader) }
|
85
90
|
end
|
86
91
|
|
87
92
|
def related_processes
|
@@ -25,12 +25,13 @@ module Decidim
|
|
25
25
|
CreateParticipatoryProcessAdmin.call(@form, current_user, current_participatory_process) do
|
26
26
|
on(:ok) do
|
27
27
|
flash[:notice] = I18n.t("participatory_process_user_roles.create.success", scope: "decidim.admin")
|
28
|
+
redirect_to participatory_process_user_roles_path(current_participatory_process)
|
28
29
|
end
|
29
30
|
|
30
31
|
on(:invalid) do
|
31
32
|
flash[:alert] = I18n.t("participatory_process_user_roles.create.error", scope: "decidim.admin")
|
33
|
+
render :new
|
32
34
|
end
|
33
|
-
redirect_to participatory_process_user_roles_path(current_participatory_process)
|
34
35
|
end
|
35
36
|
end
|
36
37
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module ParticipatoryProcesses
|
5
|
-
class
|
5
|
+
class WidgetsController < Decidim::WidgetsController
|
6
6
|
helper Decidim::SanitizeHelper
|
7
7
|
|
8
8
|
private
|
@@ -20,7 +20,7 @@ module Decidim
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def iframe_url
|
23
|
-
@iframe_url ||=
|
23
|
+
@iframe_url ||= participatory_process_widget_url(model)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -8,6 +8,7 @@ module Decidim
|
|
8
8
|
#
|
9
9
|
class ParticipatoryProcessForm < Form
|
10
10
|
include TranslatableAttributes
|
11
|
+
include Decidim::HasUploadValidations
|
11
12
|
|
12
13
|
mimic :participatory_process
|
13
14
|
|
@@ -54,12 +55,10 @@ module Decidim
|
|
54
55
|
|
55
56
|
validates :title, :subtitle, :description, :short_description, translatable_presence: true
|
56
57
|
|
57
|
-
validates :banner_image,
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
file_size: { less_than_or_equal_to: ->(_record) { Decidim.maximum_attachment_size } },
|
62
|
-
file_content_type: { allow: ["image/jpeg", "image/png"] }
|
58
|
+
validates :banner_image, passthru: { to: Decidim::ParticipatoryProcess }
|
59
|
+
validates :hero_image, passthru: { to: Decidim::ParticipatoryProcess }
|
60
|
+
|
61
|
+
alias organization current_organization
|
63
62
|
|
64
63
|
def map_model(model)
|
65
64
|
self.scope_id = model.decidim_scope_id
|
@@ -8,6 +8,7 @@ module Decidim
|
|
8
8
|
#
|
9
9
|
class ParticipatoryProcessGroupForm < Form
|
10
10
|
include TranslatableAttributes
|
11
|
+
include Decidim::HasUploadValidations
|
11
12
|
|
12
13
|
translatable_attribute :name, String
|
13
14
|
translatable_attribute :description, String
|
@@ -20,7 +21,9 @@ module Decidim
|
|
20
21
|
|
21
22
|
validates :name, :description, translatable_presence: true
|
22
23
|
|
23
|
-
validates :hero_image,
|
24
|
+
validates :hero_image, passthru: { to: Decidim::ParticipatoryProcessGroup }
|
25
|
+
|
26
|
+
alias organization current_organization
|
24
27
|
end
|
25
28
|
end
|
26
29
|
end
|
@@ -13,6 +13,9 @@ module Decidim
|
|
13
13
|
# Accepted mime types
|
14
14
|
# keys: are used for dynamic help text on admin form.
|
15
15
|
# values: are used to validate the file format of imported document.
|
16
|
+
#
|
17
|
+
# WARNING: consider adding/removing the relative translation key at
|
18
|
+
# decidim.participatory_processes.admin.new_import.accepted_types when modifying this hash
|
16
19
|
ACCEPTED_TYPES = {
|
17
20
|
json: JSON_MIME_TYPE
|
18
21
|
}.freeze
|
data/app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb
CHANGED
@@ -13,10 +13,12 @@ module Decidim
|
|
13
13
|
attribute :email, String
|
14
14
|
attribute :role, String
|
15
15
|
|
16
|
-
validates :email, :role, presence: true
|
17
|
-
validates :name, presence: true
|
16
|
+
validates :name, :email, :role, presence: true
|
18
17
|
validates :role, inclusion: { in: Decidim::ParticipatoryProcessUserRole::ROLES }
|
19
18
|
|
19
|
+
validates :name, format: { with: UserBaseEntity::REGEXP_NAME }
|
20
|
+
validate :admin_uniqueness
|
21
|
+
|
20
22
|
def roles
|
21
23
|
Decidim::ParticipatoryProcessUserRole::ROLES.map do |role|
|
22
24
|
[
|
@@ -25,6 +27,10 @@ module Decidim
|
|
25
27
|
]
|
26
28
|
end
|
27
29
|
end
|
30
|
+
|
31
|
+
def admin_uniqueness
|
32
|
+
errors.add(:email, :taken) if context && context.current_organization && context.current_organization.admins.where(email: email).exists?
|
33
|
+
end
|
28
34
|
end
|
29
35
|
end
|
30
36
|
end
|
@@ -21,6 +21,17 @@ module Decidim
|
|
21
21
|
dates = [participatory_process_step.start_date, participatory_process_step.end_date]
|
22
22
|
dates.map { |date| date ? localize(date.to_date, format: :default) : "?" }.join(" - ")
|
23
23
|
end
|
24
|
+
|
25
|
+
# Public: Returns the path for the participatory process cta button
|
26
|
+
#
|
27
|
+
# Returns a String with path.
|
28
|
+
def participatory_process_cta_path(process)
|
29
|
+
return participatory_process_path(process) if process.active_step&.cta_path.blank?
|
30
|
+
|
31
|
+
path, params = participatory_process_path(process).split("?")
|
32
|
+
|
33
|
+
"#{path}/#{process.active_step.cta_path}" + (params.present? ? "?#{params}" : "")
|
34
|
+
end
|
24
35
|
end
|
25
36
|
end
|
26
37
|
end
|
@@ -11,7 +11,7 @@ module Decidim
|
|
11
11
|
include Decidim::HasAttachmentCollections
|
12
12
|
include Decidim::Participable
|
13
13
|
include Decidim::Publicable
|
14
|
-
include Decidim::
|
14
|
+
include Decidim::ScopableParticipatorySpace
|
15
15
|
include Decidim::Followable
|
16
16
|
include Decidim::HasReference
|
17
17
|
include Decidim::Traceable
|
@@ -19,6 +19,11 @@ module Decidim
|
|
19
19
|
include Decidim::Loggable
|
20
20
|
include Decidim::ParticipatorySpaceResourceable
|
21
21
|
include Decidim::Searchable
|
22
|
+
include Decidim::HasUploadValidations
|
23
|
+
include Decidim::TranslatableResource
|
24
|
+
|
25
|
+
translatable_fields :title, :subtitle, :short_description, :description, :developer_group, :meta_scope, :local_area,
|
26
|
+
:target, :participatory_scope, :participatory_structure, :announcement
|
22
27
|
|
23
28
|
belongs_to :organization,
|
24
29
|
foreign_key: "decidim_organization_id",
|
@@ -61,7 +66,10 @@ module Decidim
|
|
61
66
|
validates :slug, uniqueness: { scope: :organization }
|
62
67
|
validates :slug, presence: true, format: { with: Decidim::ParticipatoryProcess.slug_format }
|
63
68
|
|
69
|
+
validates_upload :hero_image
|
64
70
|
mount_uploader :hero_image, Decidim::HeroImageUploader
|
71
|
+
|
72
|
+
validates_upload :banner_image
|
65
73
|
mount_uploader :banner_image, Decidim::BannerImageUploader
|
66
74
|
|
67
75
|
scope :past, -> { where(arel_table[:end_date].lt(Date.current)) }
|
@@ -160,6 +168,10 @@ module Decidim
|
|
160
168
|
roles.where(role: role_name)
|
161
169
|
end
|
162
170
|
|
171
|
+
def attachment_context
|
172
|
+
:admin
|
173
|
+
end
|
174
|
+
|
163
175
|
# Allow ransacker to search for a key in a hstore column (`title`.`en`)
|
164
176
|
ransacker :title do |parent|
|
165
177
|
Arel::Nodes::InfixOperation.new("->>", parent.table[:title], Arel::Nodes.build_quoted(I18n.locale.to_s))
|
@@ -4,6 +4,10 @@ module Decidim
|
|
4
4
|
class ParticipatoryProcessGroup < ApplicationRecord
|
5
5
|
include Decidim::Resourceable
|
6
6
|
include Decidim::Traceable
|
7
|
+
include Decidim::HasUploadValidations
|
8
|
+
include Decidim::TranslatableResource
|
9
|
+
|
10
|
+
translatable_fields :name, :description
|
7
11
|
|
8
12
|
has_many :participatory_processes,
|
9
13
|
foreign_key: "decidim_participatory_process_group_id",
|
@@ -15,6 +19,7 @@ module Decidim
|
|
15
19
|
foreign_key: "decidim_organization_id",
|
16
20
|
class_name: "Decidim::Organization"
|
17
21
|
|
22
|
+
validates_upload :hero_image
|
18
23
|
mount_uploader :hero_image, Decidim::HeroImageUploader
|
19
24
|
|
20
25
|
def self.log_presenter_class_for(_log)
|
@@ -5,9 +5,12 @@ module Decidim
|
|
5
5
|
# components that will show up in the depending on what step is currently
|
6
6
|
# active.
|
7
7
|
class ParticipatoryProcessStep < ApplicationRecord
|
8
|
+
include Decidim::TranslatableResource
|
8
9
|
include Traceable
|
9
10
|
include Loggable
|
10
11
|
|
12
|
+
translatable_fields :title, :description, :cta_text
|
13
|
+
|
11
14
|
belongs_to :participatory_process, foreign_key: "decidim_participatory_process_id", class_name: "Decidim::ParticipatoryProcess"
|
12
15
|
has_one :organization, through: :participatory_process
|
13
16
|
|
@@ -76,10 +76,12 @@ module Decidim
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def project_supports_query
|
79
|
-
Decidim::Budgets::Order
|
80
|
-
|
81
|
-
|
82
|
-
|
79
|
+
Decidim::Budgets::Order.joins(budget: [:component])
|
80
|
+
.where(budget: {
|
81
|
+
decidim_components: { id: space_components.pluck(:id) }
|
82
|
+
})
|
83
|
+
.pluck(:decidim_user_id)
|
84
|
+
.uniq
|
83
85
|
end
|
84
86
|
|
85
87
|
def survey_answer_query
|
@@ -122,11 +122,11 @@ module Decidim
|
|
122
122
|
attachment = Attachment.new(
|
123
123
|
title: file["title"],
|
124
124
|
description: file["description"],
|
125
|
-
file: file_tmp,
|
126
|
-
file_size: file_tmp.size,
|
127
125
|
content_type: file_tmp.content_type,
|
128
126
|
attached_to: @imported_process,
|
129
|
-
weight: file["weight"]
|
127
|
+
weight: file["weight"],
|
128
|
+
file: file_tmp, # Define attached_to before this
|
129
|
+
file_size: file_tmp.size
|
130
130
|
)
|
131
131
|
attachment.create_attachment_collection(file["attachment_collection"])
|
132
132
|
attachment.save!
|
@@ -169,7 +169,9 @@ module Decidim
|
|
169
169
|
|
170
170
|
accepted = ["image", "application/pdf"]
|
171
171
|
url = URI.parse(url)
|
172
|
-
Net::HTTP.
|
172
|
+
http_connection = Net::HTTP.new(url.host, url.port)
|
173
|
+
http_connection.use_ssl = true if url.scheme == "https"
|
174
|
+
http_connection.start do |http|
|
173
175
|
return http.head(url.request_uri)["Content-Type"].start_with?(*accepted)
|
174
176
|
end
|
175
177
|
rescue StandardError
|
data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<div class="columns mediumlarge-8 large-6 card--process__column">
|
4
4
|
<div class="card__content">
|
5
5
|
<%= link_to participatory_process_path(promoted_process), class: "card__link" do %>
|
6
|
-
<h2 class="card__title"><%= decidim_html_escape(translated_attribute(promoted_process.title)) %></h2>
|
6
|
+
<h2 class="card__title"><%= decidim_html_escape(translated_attribute(promoted_process.title)).html_safe %></h2>
|
7
7
|
<% end %>
|
8
8
|
<%= decidim_sanitize html_truncate(translated_attribute(promoted_process.short_description), length: 630, separator: "...") %>
|
9
9
|
<%= link_to participatory_process_path(promoted_process), class: "button small hollow card__button" do %>
|
@@ -17,9 +17,14 @@
|
|
17
17
|
style="background-image:url(<%= promoted_process.hero_image.url %>)">
|
18
18
|
<div class="card__content row collapse">
|
19
19
|
<div class="large-6 large-offset-6 columns">
|
20
|
-
<%= link_to
|
21
|
-
|
22
|
-
|
20
|
+
<%= link_to participatory_process_cta_path(promoted_process), class: "button expanded button--sc" do %>
|
21
|
+
<% if translated_in_current_locale?(promoted_process.active_step&.cta_text) %>
|
22
|
+
<span class="show-for-sr"><%= translated_attribute(promoted_process.active_step.cta_text) %></span>
|
23
|
+
<span aria-hidden="true"><%= translated_attribute(promoted_process.active_step.cta_text) %></span>
|
24
|
+
<% else %>
|
25
|
+
<span class="show-for-sr"><%= t(promoted_process.cta_button_text_key_accessible, resource_name: translated_attribute(promoted_process.title), scope: "layouts.decidim.participatory_processes.promoted_process") %></span>
|
26
|
+
<span aria-hidden="true"><%= t(promoted_process.cta_button_text_key, scope: "layouts.decidim.participatory_processes.promoted_process") %></span>
|
27
|
+
<% end %>
|
23
28
|
<% if promoted_process.active_step %>
|
24
29
|
<span class="button__info">
|
25
30
|
<%= t("participatory_processes.promoted_process.active_step", scope: "layouts.decidim") %> <%= translated_attribute promoted_process.active_step.title %>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
</div>
|
139
139
|
<%= resource_reference(current_participatory_space) %>
|
140
140
|
<%= render partial: "decidim/shared/share_modal" %>
|
141
|
-
<%= embed_modal_for
|
141
|
+
<%= embed_modal_for participatory_process_widget_url(current_participatory_space, format: :js) %>
|
142
142
|
</div>
|
143
143
|
</div>
|
144
144
|
|
@@ -0,0 +1 @@
|
|
1
|
+
am:
|
@@ -0,0 +1,19 @@
|
|
1
|
+
bg:
|
2
|
+
activemodel:
|
3
|
+
attributes:
|
4
|
+
participatory_process:
|
5
|
+
announcement: Обявление
|
6
|
+
area_id: Район
|
7
|
+
banner_image: Банер изображение
|
8
|
+
copy_categories: Копирай категории
|
9
|
+
copy_components: Копирай компоненти
|
10
|
+
copy_steps: Копирай стъпки
|
11
|
+
decidim_area_id: Район
|
12
|
+
description: Описание
|
13
|
+
developer_group: Група за популяризиране
|
14
|
+
domain: Домейн
|
15
|
+
end_date: Крайна дата
|
16
|
+
hashtag: Хаштаг
|
17
|
+
hero_image: Изображение за начална страница
|
18
|
+
local_area: Район на организацията
|
19
|
+
meta_scope: Метаданни сфера
|
data/config/locales/ca.yml
CHANGED
@@ -270,7 +270,7 @@ ca:
|
|
270
270
|
events:
|
271
271
|
participatory_process:
|
272
272
|
role_assigned:
|
273
|
-
email_intro: T'han assignat el rol de %{role}
|
273
|
+
email_intro: T'han assignat el rol de %{role} al procés participatiu "%{resource_title}".
|
274
274
|
email_outro: Reps aquesta notificació perquè se t'ha assignat el rol de %{role} a l procés participatiu "%{resource_title}".
|
275
275
|
email_subject: Se t'ha assignat el rol de %{role} a "%{resource_title}".
|
276
276
|
notification_title: Se t'ha assignat el rol de %{role} al procés participatiu <a href="%{resource_url}">%{resource_title}</a>.
|
@@ -315,6 +315,9 @@ ca:
|
|
315
315
|
content_blocks:
|
316
316
|
highlighted_processes:
|
317
317
|
max_results: Quantitat màxima d'elements que es mostraran
|
318
|
+
new_import:
|
319
|
+
accepted_types:
|
320
|
+
json: JSON
|
318
321
|
participatory_process_copies:
|
319
322
|
form:
|
320
323
|
slug_help: 'Els noms curts d''URL s''utilitzen per generar els URL que apunten a aquest procés. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
|