decidim-dev 0.27.4 → 0.28.0.rc5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/{dummy_resources → dev}/create_dummy_resource.rb +1 -2
  3. data/app/controllers/decidim/{dummy_resources → dev}/dummy_resources_controller.rb +2 -2
  4. data/app/events/decidim/dev/dummy_resource_event.rb +10 -0
  5. data/app/forms/decidim/{dummy_resources → dev}/dummy_resource_form.rb +1 -1
  6. data/app/jobs/decidim/dev/hide_all_created_by_author_job.rb +13 -0
  7. data/app/mailers/decidim/{dummy_resources → dev}/dummy_resource_mailer.rb +1 -1
  8. data/app/models/decidim/dev/application_record.rb +9 -0
  9. data/app/models/decidim/dev/coauthorable_dummy_resource.rb +10 -0
  10. data/app/models/decidim/dev/dummy_resource.rb +93 -0
  11. data/app/models/decidim/dev/nested_dummy_resource.rb +10 -0
  12. data/app/packs/src/decidim/dev/accessibility.js +3 -3
  13. data/app/packs/src/decidim/dev/test/custom_map_factory.js +1 -1
  14. data/app/packs/stylesheets/decidim/dev/_accessibility.scss +24 -24
  15. data/app/packs/stylesheets/decidim/dev/_map.scss +10 -0
  16. data/app/packs/stylesheets/decidim/dev.scss +1 -0
  17. data/app/presenters/decidim/dev/official_author_presenter.rb +33 -0
  18. data/app/serializers/decidim/dev/dummy_serializer.rb +21 -0
  19. data/app/views/decidim/dev/dummy_resources/show.html.erb +25 -0
  20. data/config/environment.rb +3 -0
  21. data/config/locales/ar.yml +0 -1
  22. data/config/locales/bg.yml +0 -1
  23. data/config/locales/cs.yml +4 -4
  24. data/config/locales/de.yml +2 -2
  25. data/config/locales/el.yml +0 -1
  26. data/config/locales/en.yml +1 -1
  27. data/config/locales/es-MX.yml +1 -1
  28. data/config/locales/es-PY.yml +1 -1
  29. data/config/locales/eu.yml +14 -8
  30. data/config/locales/gl.yml +0 -1
  31. data/config/locales/hu.yml +0 -1
  32. data/config/locales/id-ID.yml +0 -1
  33. data/config/locales/it.yml +0 -1
  34. data/config/locales/lv.yml +0 -1
  35. data/config/locales/nl.yml +0 -1
  36. data/config/locales/no.yml +0 -1
  37. data/config/locales/pl.yml +0 -1
  38. data/config/locales/pt-BR.yml +0 -1
  39. data/config/locales/pt.yml +0 -1
  40. data/config/locales/ru.yml +0 -1
  41. data/config/locales/sk.yml +0 -1
  42. data/config/locales/sq-AL.yml +1 -0
  43. data/config/locales/sv.yml +1 -1
  44. data/config/locales/th-TH.yml +1 -0
  45. data/config/locales/tr-TR.yml +0 -1
  46. data/config/locales/zh-CN.yml +0 -1
  47. data/config/rubocop/disabled.yml +11 -0
  48. data/config/rubocop/faker.yml +480 -0
  49. data/config/rubocop/rails.yml +105 -0
  50. data/config/rubocop/rspec.yml +69 -0
  51. data/config/rubocop/ruby.yml +1207 -0
  52. data/lib/decidim/dev/admin.rb +8 -0
  53. data/lib/decidim/dev/admin_engine.rb +43 -0
  54. data/lib/decidim/dev/assets/import_participatory_space_private_users.csv +2 -2
  55. data/lib/decidim/dev/assets/import_participatory_space_private_users_invalid_col_sep.csv +2 -0
  56. data/lib/decidim/dev/assets/import_participatory_space_private_users_nok.csv +2 -2
  57. data/lib/decidim/dev/assets/import_participatory_space_private_users_with_bom.csv +1 -1
  58. data/lib/decidim/dev/assets/iso-8859-15.md +1 -1
  59. data/lib/decidim/dev/assets/participatory_text.md +4 -2
  60. data/lib/decidim/dev/assets/verify_user_groups.csv +22 -22
  61. data/lib/decidim/dev/component.rb +94 -0
  62. data/lib/decidim/dev/engine.rb +21 -3
  63. data/lib/decidim/dev/test/base_spec_helper.rb +1 -0
  64. data/lib/decidim/dev/test/factories.rb +50 -0
  65. data/lib/decidim/dev/test/form_to_param_shared_examples.rb +1 -1
  66. data/lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb +9 -9
  67. data/lib/decidim/dev/test/rspec_support/accessibility_examples.rb +119 -1
  68. data/lib/decidim/dev/test/rspec_support/attachment_helpers.rb +2 -2
  69. data/lib/decidim/dev/test/rspec_support/bullet.rb +32 -0
  70. data/lib/decidim/dev/test/rspec_support/capybara.rb +26 -21
  71. data/lib/decidim/dev/test/rspec_support/cell_matchers.rb +1 -1
  72. data/lib/decidim/dev/test/rspec_support/component.rb +7 -317
  73. data/lib/decidim/dev/test/rspec_support/component_context.rb +10 -10
  74. data/lib/decidim/dev/test/rspec_support/confirmation_helpers.rb +18 -14
  75. data/lib/decidim/dev/test/rspec_support/data_consent.rb +2 -2
  76. data/lib/decidim/dev/test/rspec_support/dynamic_attach.rb +19 -4
  77. data/lib/decidim/dev/test/rspec_support/editor_context.rb +35 -0
  78. data/lib/decidim/dev/test/rspec_support/engine_examples.rb +15 -0
  79. data/lib/decidim/dev/test/rspec_support/filters.rb +11 -0
  80. data/lib/decidim/dev/test/rspec_support/forms_validations.rb +20 -0
  81. data/lib/decidim/dev/test/rspec_support/geocoder.rb +7 -7
  82. data/lib/decidim/dev/test/rspec_support/helpers.rb +187 -34
  83. data/lib/decidim/dev/test/rspec_support/imports_controller_shared_examples.rb +13 -13
  84. data/lib/decidim/dev/test/rspec_support/tom_select.rb +26 -0
  85. data/lib/decidim/dev/test/rspec_support/translation_helpers.rb +8 -8
  86. data/lib/decidim/dev/test/rspec_support/warden.rb +1 -1
  87. data/lib/decidim/dev/test/rspec_support/webpacker.rb +10 -0
  88. data/lib/decidim/dev/test/spec_helper.rb +15 -4
  89. data/lib/decidim/dev/test/w3c_rspec_validators_overrides.rb +1 -5
  90. data/lib/decidim/dev/version.rb +1 -1
  91. data/lib/decidim/dev.rb +22 -0
  92. data/lib/decidim-dev.rb +1 -1
  93. data/lib/tasks/lighthouse_report.rake +29 -7
  94. data/rubocop-decidim.yml +13 -0
  95. metadata +125 -71
  96. data/app/views/decidim/dummy_resources/dummy_resources/show.html.erb +0 -15
  97. data/lib/decidim/dev/test/rspec_support/capybara_data_picker.rb +0 -36
  98. data/lib/decidim/dev/test/rspec_support/capybara_scopes_picker.rb +0 -92
  99. data/lib/decidim/dev/test/rspec_support/summary_notification.rb +0 -51
  100. data/lib/rubocop/cop/decidim/hash_shorthand_syntax_backports.rb +0 -175
  101. data/lib/rubocop/cop/decidim.rb +0 -9
  102. /data/app/views/decidim/{dummy_resources → dev}/dummy_resources/foo.html.erb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a8418d7ae6e85aa4a658a0c52d2e39954b7b8dec097c38b8f071fa4d51b21fa3
4
- data.tar.gz: 96bfc08644fb6a5ab4d34eb6d37e222da103d3fb46ed0668acc321b545009ebc
3
+ metadata.gz: 748d2f169f32c6fcfc67454e2dba713ddfdf29cc58a83da24034d4406fcac8c7
4
+ data.tar.gz: d3ec3e265e3cba7c7cc079675008c3db86d38b362c951c7b7a4794227a1d4624
5
5
  SHA512:
6
- metadata.gz: 240c26feb4ade240648b8ffb1b180d8d1011e994b82da1f470b7a272ca10cfd27627e2d8a5b5927a87f0bcdee2582089b75b8f0cf760aeb257028e2f7e3cc477
7
- data.tar.gz: 80e4c51e2e7bbab875f8c39fad8648e4bda54252f5f0045e3eeb297ab1713b2a529f9a76ca83c706297a596797dbb68c17052bd120482c21052d5e7ce9a09b8e
6
+ metadata.gz: 5b549c6b928aeef7725f19f46cee07bdcac5e93be653282ee25cdac61d286e6fd3be0c9909a9e2632b12af2d2c1077e36de144609a35a3b4bd202b1b02a07aea
7
+ data.tar.gz: 589c55a32831a21b17915be4ac26e2dd8dba24a7d9b4149ad0ef69f6384ddca24a6ff9a9692777362a98c625c19e6f96dd6eeeeca2ee59772faa7a6b69d0ef3f
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Decidim
4
- module DummyResources
4
+ module Dev
5
5
  class CreateDummyResource < Decidim::Command
6
- include Decidim::AttachmentMethods
7
6
  include Decidim::GalleryMethods
8
7
 
9
8
  def initialize(form)
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Decidim
4
- module DummyResources
4
+ module Dev
5
5
  class DummyResourcesController < Decidim::Components::BaseController
6
6
  helper Decidim::Comments::CommentsHelper
7
7
  include Decidim::TranslatableAttributes
8
8
 
9
9
  def show
10
- @commentable = DummyResources::DummyResource.find(params[:id])
10
+ @commentable = Dev::DummyResource.find(params[:id])
11
11
  end
12
12
  end
13
13
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class DummyResourceEvent < Decidim::Events::BaseEvent
6
+ include Decidim::Events::EmailEvent
7
+ include Decidim::Events::NotificationEvent
8
+ end
9
+ end
10
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Decidim
4
- module DummyResources
4
+ module Dev
5
5
  class DummyResourceForm < Decidim::Form
6
6
  include Decidim::AttachmentAttributes
7
7
 
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class HideAllCreatedByAuthorJob < Decidim::HideAllCreatedByAuthorJob
6
+ protected
7
+
8
+ def base_query
9
+ Decidim::Dev::DummyResource.not_hidden.where(author:)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Decidim
4
- module DummyResources
4
+ module Dev
5
5
  class DummyResourceMailer < ApplicationMailer
6
6
  def send_email(user, organization, subject, reply_to)
7
7
  @user = user
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class ApplicationRecord < ActiveRecord::Base
6
+ self.abstract_class = true
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class CoauthorableDummyResource < ApplicationRecord
6
+ include ::Decidim::Coauthorable
7
+ include HasComponent
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class DummyResource < ApplicationRecord
6
+ include HasComponent
7
+ include HasReference
8
+ include Resourceable
9
+ include Reportable
10
+ include Authorable
11
+ include HasCategory
12
+ include ScopableResource
13
+ include Decidim::Comments::Commentable
14
+ include Followable
15
+ include Traceable
16
+ include Publicable
17
+ include Decidim::DownloadYourData
18
+ include Searchable
19
+ include Paddable
20
+ include Amendable
21
+ include Decidim::NewsletterParticipant
22
+ include ::Decidim::Endorsable
23
+ include Decidim::HasAttachments
24
+ include Decidim::ShareableWithToken
25
+ include Decidim::TranslatableResource
26
+
27
+ translatable_fields :title
28
+ searchable_fields(
29
+ scope_id: { scope: :id },
30
+ participatory_space: { component: :participatory_space },
31
+ A: [:title],
32
+ D: [:address],
33
+ datetime: :published_at
34
+ )
35
+
36
+ amendable(
37
+ fields: [:title],
38
+ form: "Decidim::Dev::DummyResourceForm"
39
+ )
40
+
41
+ component_manifest_name "dummy"
42
+
43
+ def reported_content_url
44
+ ResourceLocatorPresenter.new(self).url
45
+ end
46
+
47
+ def reported_attributes
48
+ [:title]
49
+ end
50
+
51
+ def reported_searchable_content_extras
52
+ [normalized_author.name]
53
+ end
54
+
55
+ def allow_resource_permissions?
56
+ component.settings.resources_permissions_enabled
57
+ end
58
+
59
+ # Public: Overrides the `commentable?` Commentable concern method.
60
+ def commentable?
61
+ component.settings.comments_enabled?
62
+ end
63
+
64
+ # Public: Whether the object can have new comments or not.
65
+ def user_allowed_to_comment?(user)
66
+ component.can_participate_in_space?(user)
67
+ end
68
+
69
+ # Public: Whether the object can have new comment votes or not.
70
+ def user_allowed_to_vote_comment?(user)
71
+ component.can_participate_in_space?(user)
72
+ end
73
+
74
+ def self.user_collection(user)
75
+ where(decidim_author_id: user.id, decidim_author_type: "Decidim::User")
76
+ end
77
+
78
+ def self.export_serializer
79
+ DummySerializer
80
+ end
81
+
82
+ def self.newsletter_participant_ids(component)
83
+ authors_ids = Decidim::Dev::DummyResource.where(component:)
84
+ .where(decidim_author_type: Decidim::UserBaseEntity.name)
85
+ .where.not(author: nil)
86
+ .group(:decidim_author_id)
87
+ .pluck(:decidim_author_id)
88
+ commentators_ids = Decidim::Comments::Comment.user_commentators_ids_in(Decidim::Dev::DummyResource.where(component:))
89
+ (authors_ids + commentators_ids).flatten.compact.uniq
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class NestedDummyResource < ApplicationRecord
6
+ include Decidim::Resourceable
7
+ belongs_to :dummy_resource
8
+ end
9
+ end
10
+ end
@@ -66,7 +66,7 @@ $(() => {
66
66
 
67
67
  if (results.violations.length < 1) {
68
68
  $badge.addClass("decidim-accessibility-success");
69
- $(".decidim-accessibility-info", $badge).append(icon("check"));
69
+ $(".decidim-accessibility-info", $badge).append(icon("check-fill", { class: "w-4 h-4 fill-current" }));
70
70
  $report.append(`
71
71
  <div class="decidim-accessibility-report-item">
72
72
  <div class="decidim-accessibility-report-item-title">
@@ -78,7 +78,7 @@ $(() => {
78
78
  }
79
79
 
80
80
  $badge.addClass("decidim-accessibility-violation");
81
- $(".decidim-accessibility-info", $badge).append(icon("warning")).append(`
81
+ $(".decidim-accessibility-info", $badge).append(icon("error-warning-fill", { class: "w-4 h-4 mr-1 fill-current" })).append(`
82
82
  <span class="decidim-accessibility-info-amount">
83
83
  ${results.violations.length}
84
84
  </span>
@@ -113,7 +113,7 @@ $(() => {
113
113
  const selector = target.replace(/#\\3([0-9]) /g, "#$1")
114
114
  const $target = $(selector);
115
115
  const $indicator = $(`
116
- <div class="decidim-accessibility-indicator" aria-hidden="true">${icon("warning")}</div>
116
+ <div class="decidim-accessibility-indicator" aria-hidden="true">${icon("error-warning-fill", { class: "w-4 h-4 fill-current" })}</div>
117
117
  `);
118
118
  $indicator.data("accessibility-target", $target);
119
119
  $target.data("accessibility-indicator", $indicator);
@@ -4,7 +4,7 @@
4
4
  * following snippet to any view:
5
5
  *
6
6
  * <%= dynamic_map_for type: "custom", markers: [{ title: "Test 1", latitude: 41.385063, longitude: 2.173404 }], popup_template_id: "custom-popup" do %>
7
- * <% javascript_pack_tag("decidim_dev_test_custom_map") %>
7
+ * <% append_javascript_pack_tag("decidim_dev_test_custom_map") %>
8
8
  * <template id="custom-popup">
9
9
  * <div>
10
10
  * <h3>${title}</h3>
@@ -1,4 +1,4 @@
1
- .decidim-accessibility-badge{
1
+ .decidim-accessibility-badge {
2
2
  position: fixed;
3
3
  display: flex;
4
4
  z-index: 9999;
@@ -10,35 +10,35 @@
10
10
  user-select: none;
11
11
  cursor: pointer;
12
12
 
13
- &.decidim-accessibility-success{
14
- .decidim-accessibility-info{
13
+ &.decidim-accessibility-success {
14
+ .decidim-accessibility-info {
15
15
  color: #339833;
16
16
  }
17
17
  }
18
18
 
19
- &.decidim-accessibility-violation{
20
- .decidim-accessibility-info{
19
+ &.decidim-accessibility-violation {
20
+ .decidim-accessibility-info {
21
21
  color: #f00;
22
22
  }
23
23
  }
24
24
 
25
- > *{
25
+ > * {
26
26
  border-left: 1px solid #888;
27
27
  padding: 2px 10px;
28
28
 
29
- &:first-child{
29
+ &:first-child {
30
30
  border-left: 0;
31
31
  }
32
32
  }
33
33
 
34
- .decidim-accessibility-info{
34
+ .decidim-accessibility-info {
35
35
  display: flex;
36
36
  text-align: center;
37
37
  align-items: center;
38
38
  }
39
39
  }
40
40
 
41
- .decidim-accessibility-report{
41
+ .decidim-accessibility-report {
42
42
  position: fixed;
43
43
  z-index: 99999;
44
44
  display: none;
@@ -47,31 +47,31 @@
47
47
  background-color: #fff;
48
48
  border-right: 1px solid #888;
49
49
 
50
- .decidim-accessibility-report-item{
50
+ .decidim-accessibility-report-item {
51
51
  background-color: #fff;
52
52
  border-top: 1px solid #888;
53
53
  padding: 10px 20px;
54
54
  transition: background-color 1s;
55
55
 
56
- &:first-child{
56
+ &:first-child {
57
57
  border-top: 0;
58
58
  }
59
59
 
60
- &.decidim-accessibility-report-item-blink{
60
+ &.decidim-accessibility-report-item-blink {
61
61
  background-color: #fff9d5;
62
62
  }
63
63
 
64
- .decidim-accessibility-report-item-title{
64
+ .decidim-accessibility-report-item-title {
65
65
  font-size: 18px;
66
66
  font-weight: bold;
67
67
  }
68
68
 
69
- .decidim-accessibility-report-item-nodes{
70
- a{
69
+ .decidim-accessibility-report-item-nodes {
70
+ a {
71
71
  background-color: rgba(255, 255, 255, 0);
72
72
  transition: background-color 1s;
73
73
 
74
- &.decidim-accessibility-report-item-nodes-item-blink{
74
+ &.decidim-accessibility-report-item-nodes-item-blink {
75
75
  background-color: #ffbdad;
76
76
  }
77
77
  }
@@ -79,7 +79,7 @@
79
79
  }
80
80
  }
81
81
 
82
- .decidim-accessibility-indicator{
82
+ .decidim-accessibility-indicator {
83
83
  position: absolute;
84
84
  z-index: 9999;
85
85
  display: none;
@@ -96,15 +96,15 @@
96
96
  user-select: none;
97
97
  cursor: pointer;
98
98
 
99
- &.decidim-accessibility-indicator-blink{
99
+ &.decidim-accessibility-indicator-blink {
100
100
  border-color: #f19d00;
101
101
  background-color: #f19d00;
102
102
  color: #fff;
103
103
  }
104
104
  }
105
105
 
106
- body.decidim-accessibility-report-open{
107
- .decidim-accessibility-report{
106
+ body.decidim-accessibility-report-open {
107
+ .decidim-accessibility-report {
108
108
  display: block;
109
109
  width: 240px;
110
110
  height: 100%;
@@ -112,21 +112,21 @@ body.decidim-accessibility-report-open{
112
112
 
113
113
  .decidim-accessibility-badge,
114
114
  .off-canvas-wrapper,
115
- .profiler-results.profiler-top.profiler-left{
115
+ .profiler-results.profiler-top.profiler-left {
116
116
  left: 240px;
117
117
  }
118
118
 
119
- .decidim-accessibility-indicator{
119
+ .decidim-accessibility-indicator {
120
120
  display: flex;
121
121
  opacity: 1;
122
122
  }
123
123
 
124
- [data-accessibility-violation]{
124
+ [data-accessibility-violation] {
125
125
  outline: 5px dashed #f00 !important;
126
126
  outline-offset: 3px !important;
127
127
  transition: outline-color 1s;
128
128
 
129
- &[data-accessibility-violation="blink"]{
129
+ &[data-accessibility-violation="blink"] {
130
130
  outline-color: #f19d00 !important;
131
131
  }
132
132
  }
@@ -0,0 +1,10 @@
1
+ .dev {
2
+ &__map {
3
+ /* negative main padding values */
4
+ @apply md:-ml-16 -mt-6 md:-mt-12 aspect-square md:aspect-[21/9] [&>*]:h-full [&+*]:mt-6 md:[&+*]:mt-12;
5
+
6
+ .leaflet-container {
7
+ height: 100%;
8
+ }
9
+ }
10
+ }
@@ -1 +1,2 @@
1
1
  @import "stylesheets/decidim/dev/accessibility";
2
+ @import "stylesheets/decidim/dev/map";
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class OfficialAuthorPresenter
6
+ def name
7
+ self.class.name
8
+ end
9
+
10
+ def nickname
11
+ Decidim::UserBaseEntity.nicknamize(name)
12
+ end
13
+
14
+ def deleted?
15
+ false
16
+ end
17
+
18
+ def respond_to_missing?(*)
19
+ true
20
+ end
21
+
22
+ def method_missing(method, *args)
23
+ if method.to_s.ends_with?("?")
24
+ false
25
+ elsif [:avatar_url, :profile_path, :badge, :followers_count, :cache_key_with_version].include?(method)
26
+ ""
27
+ else
28
+ super
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Dev
5
+ class DummySerializer
6
+ def initialize(id)
7
+ @id = id
8
+ end
9
+
10
+ def run
11
+ serialize
12
+ end
13
+
14
+ def serialize
15
+ {
16
+ id: @id
17
+ }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,25 @@
1
+ <% add_decidim_meta_tags({
2
+ description: translated_attribute(@commentable.body),
3
+ title: translated_attribute(@commentable.title),
4
+ url: dummy_resource_url(@commentable)
5
+ }) %>
6
+
7
+ <%= render layout: "layouts/decidim/shared/layout_item", locals: { commentable: @commentable } do %>
8
+ <h2 class="h2 decorator mb-8">
9
+ <%= translated_attribute(@commentable.title) %>
10
+ </h2>
11
+
12
+ <% content_for :aside do %>
13
+ <%= action_authorized_link_to :foo, foo_dummy_resource_path(@commentable) do %>
14
+ Foo
15
+ <% end %>
16
+
17
+ <section class="layout-main__section layout-main__buttons" data-buttons>
18
+ <%= cell "decidim/comments_button", nil %>
19
+ <div class="ml-auto">
20
+ <%= cell "decidim/share_button", nil %>
21
+ </div>
22
+ </section>
23
+ <% end %>
24
+ <%= comments_for(@commentable) %>
25
+ <% end %>
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Empty line for playing nice with tpope/vim-rails
@@ -53,7 +53,6 @@ ar:
53
53
  description_own: لقد أنشأت %{score} اختبارات.
54
54
  name: الاختبارات
55
55
  next_level_in: إنشاء %{score} اختبارات أخرى للوصول إلى المستوى التالي!
56
- unearned_another: لم ينشئ هذا المشارك أي اختبارات حتى الآن.
57
56
  unearned_own: لم تنشئ أية اختبارات بعد.
58
57
  resource_links:
59
58
  test_link:
@@ -45,7 +45,6 @@ bg:
45
45
  description_own: Вие създадохте %{score} теста.
46
46
  name: Тестове
47
47
  next_level_in: Създайте още %{score} теста за да достигнете следващо ниво!
48
- unearned_another: Този участник все още не е създал тест.
49
48
  unearned_own: Вие все още не сте създали тест.
50
49
  resource_links:
51
50
  test_link:
@@ -24,9 +24,9 @@ cs:
24
24
  readonly_attribute: Atribut pouze pro čtení
25
25
  test: Zkouška A
26
26
  test_choices:
27
- a: Volba A
28
- b: Volba B
29
- c: Volba C
27
+ a: Možnost A
28
+ b: Možnost B
29
+ c: Možnost C
30
30
  test_options:
31
31
  bar: Bar
32
32
  baz: Baz
@@ -57,7 +57,7 @@ cs:
57
57
  unearned_own: Dosud jste nevytvořili žádné testy.
58
58
  resource_links:
59
59
  test_link:
60
- dummy_resource_dummy: Související figurína
60
+ dummy_resource_dummy: Související testovací soubor
61
61
  statistics:
62
62
  bar: Bar
63
63
  dummies_count_high: Figuríny vysoké
@@ -3,7 +3,7 @@ de:
3
3
  activemodel:
4
4
  attributes:
5
5
  dummy_resource:
6
- created_at: Hergestellt in
6
+ created_at: Erstellt am
7
7
  decidim_scope_id: Umfang
8
8
  field: Mein Feld
9
9
  start_date: Startdatum
@@ -53,7 +53,7 @@ de:
53
53
  description_own: Sie haben %{score} Tests erstellt.
54
54
  name: Tests
55
55
  next_level_in: Erstellen Sie %{score} weitere Tests, um das nächste Level zu erreichen!
56
- unearned_another: Dieser Benutzer hat noch keine Tests erstellt.
56
+ unearned_another: Dieser Teilnehmer hat noch keine Tests erstellt.
57
57
  unearned_own: Sie haben noch keine Tests erstellt.
58
58
  resource_links:
59
59
  test_link:
@@ -45,7 +45,6 @@ el:
45
45
  description_own: Έχετε δημιουργήσει %{score} δοκιμές.
46
46
  name: Δοκιμές
47
47
  next_level_in: Δημιουργήστε %{score} ακόμη δοκιμές για να φτάσετε στο επόμενο επίπεδο!
48
- unearned_another: Αυτός ο συμμετέχων δεν έχει δημιουργήσει ακόμη καμία δοκιμή.
49
48
  unearned_own: Δεν έχετε δημιουργήσει ακόμη δοκιμές.
50
49
  resource_links:
51
50
  test_link:
@@ -53,7 +53,7 @@ en:
53
53
  description_own: You have created %{score} tests.
54
54
  name: Tests
55
55
  next_level_in: Create %{score} more tests to reach the next level!
56
- unearned_another: This participant hasn't created any tests yet.
56
+ unearned_another: This participant has not created any tests yet.
57
57
  unearned_own: You have created no tests yet.
58
58
  resource_links:
59
59
  test_link:
@@ -53,7 +53,7 @@ es-MX:
53
53
  description_own: Has creado %{score} pruebas.
54
54
  name: Pruebas
55
55
  next_level_in: '¡Crea %{score} pruebas más para alcanzar el siguiente nivel!'
56
- unearned_another: Este usuario aún no ha creado ninguna prueba.
56
+ unearned_another: Esta participante aún no ha creado ninguna prueba.
57
57
  unearned_own: No has creado ninguna prueba todavía.
58
58
  resource_links:
59
59
  test_link:
@@ -53,7 +53,7 @@ es-PY:
53
53
  description_own: Has creado %{score} pruebas.
54
54
  name: Pruebas
55
55
  next_level_in: '¡Crea %{score} pruebas más para alcanzar el siguiente nivel!'
56
- unearned_another: Este usuario aún no ha creado ninguna prueba.
56
+ unearned_another: Esta participante aún no ha creado ninguna prueba.
57
57
  unearned_own: No has creado ninguna prueba todavía.
58
58
  resource_links:
59
59
  test_link:
@@ -3,8 +3,8 @@ eu:
3
3
  activemodel:
4
4
  attributes:
5
5
  dummy_resource:
6
- created_at: Sortutako at
7
- decidim_scope_id: Eremua
6
+ created_at: Sortua
7
+ decidim_scope_id: Esparrua
8
8
  field: Nire eremua
9
9
  start_date: Hasiera data
10
10
  title: Izenburua
@@ -15,8 +15,14 @@ eu:
15
15
  dummy:
16
16
  settings:
17
17
  global:
18
+ guided: Input gidatua
19
+ guided_help: Laguntza-testua
20
+ guided_readonly: Input desgaitua
21
+ guided_rich: Input gidatu aberastua
22
+ guided_rich_help_html: HTML<strong>ayuda</strong> testua
23
+ guided_rich_readonly_html: HTML<strong>laguntza</strong>testua input desgaiturako
18
24
  readonly_attribute: Soilik irakurtzeko atributua
19
- test: Test bat
25
+ test: Proba bat
20
26
  test_choices:
21
27
  a: A aukera
22
28
  b: B aukera
@@ -36,22 +42,22 @@ eu:
36
42
  dummy:
37
43
  admin:
38
44
  exports:
39
- dummies: Manikiak
45
+ dummies: Probak
40
46
  gamification:
41
47
  badges:
42
48
  test:
43
49
  conditions:
44
50
  - Erabili probako ingurunea erabakitzeko.
45
- description: Erabiltzaileek plaka hau lortzen dute probak sortzeko.
51
+ description: Parte-hartzaileek garaikur hau lortzen dute probak sortzeagatik.
46
52
  description_another: Erabiltzaile honek %{score} proba egin ditu.
47
53
  description_own: '%{score} proba sortu dituzu.'
48
- name: probak
54
+ name: Probak
49
55
  next_level_in: Sortu %{score} proba gehiago hurrengo mailara iristeko!
50
- unearned_another: Erabiltzaile honek ez du proba oraindik sortu.
56
+ unearned_another: Parte-hartzaile honek oraindik ez du inkestarik sortu.
51
57
  unearned_own: Oraindik ez duzu probak sortu.
52
58
  resource_links:
53
59
  test_link:
54
- dummy_resource_dummy: ' Honi buruzko adibidea '
60
+ dummy_resource_dummy: ' Honekin lotutako proba'
55
61
  statistics:
56
62
  bar: Bar
57
63
  dummies_count_high: Dummies altua
@@ -47,7 +47,6 @@ gl:
47
47
  description_own: Creaches %{score} probas.
48
48
  name: Probas
49
49
  next_level_in: Crea %{score} probas máis para chegar ao seguinte nivel!
50
- unearned_another: Este usuario aínda non creou ningunha proba.
51
50
  unearned_own: Non creaches probas aínda.
52
51
  resource_links:
53
52
  test_link:
@@ -39,7 +39,6 @@ hu:
39
39
  description_own: Létrehoztad a(z) %{score} teszteket.
40
40
  name: Tesztek
41
41
  next_level_in: Hozz létre még %{score} tesztet a következő szint eléréséhez!
42
- unearned_another: Ez a felhasználó még nem hozott létre teszteket.
43
42
  unearned_own: Még nem hoztál létre teszteket.
44
43
  resource_links:
45
44
  test_link: