decidim-core 0.6.4 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/decidim/widgets_controller.rb +1 -0
- data/app/helpers/decidim/decidim_form_helper.rb +7 -1
- data/app/presenters/decidim/resource_locator_presenter.rb +8 -5
- data/app/services/decidim/resource_search.rb +5 -1
- data/app/views/layouts/decidim/widget.html.erb +1 -1
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/form_builder.rb +1 -0
- data/lib/decidim/participatory_space_manifest.rb +14 -0
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a44a608e2104f1c2957a934c2940245631472e7b
|
4
|
+
data.tar.gz: f55a0b7a343b75d25b86748edb2e609fa5fa5dd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b91649a0423ac242042cc8b9c6e48c15a79ba1fb4314938a5534e51fd0c835ffc0eed7cee2d52332adafe9961d257241f168ce6f5a20f493d3ddd8362c63c49
|
7
|
+
data.tar.gz: 3d28ef9ad8d03ba09921d9cacd07c1375d010478200d816ed3422545b10577148085cfa6c6d0d9d8fadaa1a88d6dd447ded49a89b4aaabf92f830f96bc28def6
|
@@ -83,8 +83,10 @@ module Decidim
|
|
83
83
|
locales.each_with_index.inject("".html_safe) do |string, (locale, index)|
|
84
84
|
string + content_tag(:li, class: tab_element_class_for("title", index)) do
|
85
85
|
title = I18n.with_locale(locale) { I18n.t("name", scope: "locale") }
|
86
|
+
element_class = nil
|
87
|
+
element_class = "is-tab-error" if form_field_has_error?(options[:object], name_with_locale(name, locale))
|
86
88
|
tab_content_id = "#{tabs_id}-#{name}-panel-#{index}"
|
87
|
-
content_tag(:a, title, href: "##{tab_content_id}")
|
89
|
+
content_tag(:a, title, href: "##{tab_content_id}", class: element_class)
|
88
90
|
end
|
89
91
|
end
|
90
92
|
end
|
@@ -116,5 +118,9 @@ module Decidim
|
|
116
118
|
def name_with_locale(name, locale)
|
117
119
|
"#{name}_#{locale.to_s.gsub("-", "__")}"
|
118
120
|
end
|
121
|
+
|
122
|
+
def form_field_has_error?(object, attribute)
|
123
|
+
object.respond_to?(:errors) && object.errors[attribute].present?
|
124
|
+
end
|
119
125
|
end
|
120
126
|
end
|
@@ -7,6 +7,8 @@ module Decidim
|
|
7
7
|
@resource = resource
|
8
8
|
end
|
9
9
|
|
10
|
+
attr_reader :resource
|
11
|
+
|
10
12
|
# Builds the path to the resource. Useful when linking to a resource from
|
11
13
|
# another engine.
|
12
14
|
#
|
@@ -24,7 +26,7 @@ module Decidim
|
|
24
26
|
#
|
25
27
|
# Returns a String.
|
26
28
|
def url(options = {})
|
27
|
-
member_route("url", options.merge(host:
|
29
|
+
member_route("url", options.merge(host: resource.organization.host))
|
28
30
|
end
|
29
31
|
|
30
32
|
# Builds the index path to the associated collection of resources.
|
@@ -42,7 +44,7 @@ module Decidim
|
|
42
44
|
#
|
43
45
|
# Returns a String.
|
44
46
|
def member_route(route_type, options)
|
45
|
-
route_proxy.send("#{member_route_name}_#{route_type}",
|
47
|
+
route_proxy.send("#{member_route_name}_#{route_type}", resource, options)
|
46
48
|
end
|
47
49
|
|
48
50
|
# Private: Build the route to the associated collection of resources.
|
@@ -53,11 +55,12 @@ module Decidim
|
|
53
55
|
end
|
54
56
|
|
55
57
|
def manifest
|
56
|
-
|
58
|
+
resource.class.try(:resource_manifest) ||
|
59
|
+
resource.class.try(:participatory_space_manifest)
|
57
60
|
end
|
58
61
|
|
59
62
|
def feature
|
60
|
-
|
63
|
+
resource.feature if resource.respond_to?(:feature)
|
61
64
|
end
|
62
65
|
|
63
66
|
def member_route_name
|
@@ -69,7 +72,7 @@ module Decidim
|
|
69
72
|
end
|
70
73
|
|
71
74
|
def route_proxy
|
72
|
-
@route_proxy ||= EngineRouter.main_proxy(feature)
|
75
|
+
@route_proxy ||= EngineRouter.main_proxy(feature || resource)
|
73
76
|
end
|
74
77
|
end
|
75
78
|
end
|
@@ -39,7 +39,11 @@ module Decidim
|
|
39
39
|
# `"global"` as parameter, and in the method we do the needed changes to search
|
40
40
|
# properly.
|
41
41
|
def search_scope_id
|
42
|
-
clean_scope_ids =
|
42
|
+
clean_scope_ids = if scope_id.is_a?(Hash)
|
43
|
+
scope_id.values
|
44
|
+
else
|
45
|
+
[scope_id].flatten
|
46
|
+
end
|
43
47
|
|
44
48
|
conditions = []
|
45
49
|
conditions << "decidim_scope_id IS NULL" if clean_scope_ids.delete("global")
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<%= content_for(:header) %>
|
14
14
|
<% else %>
|
15
15
|
<div class="participatory-process">
|
16
|
-
<%= link_to translated_attribute(current_participatory_space.title),
|
16
|
+
<%= link_to translated_attribute(current_participatory_space.title), resource_locator(current_participatory_space).path, target: "_blank" %>
|
17
17
|
</div>
|
18
18
|
<% end %>
|
19
19
|
<div class="row collapse">
|
data/lib/decidim/core/version.rb
CHANGED
data/lib/decidim/form_builder.rb
CHANGED
@@ -142,6 +142,7 @@ module Decidim
|
|
142
142
|
def scopes_select(name, options = {})
|
143
143
|
selected = object.send(name)
|
144
144
|
if selected.present?
|
145
|
+
selected = selected.values if selected.is_a?(Hash)
|
145
146
|
selected = [selected] unless selected.is_a?(Array)
|
146
147
|
scopes = Decidim::Scope.where(id: selected.map(&:to_i)).map { |scope| [scope.name[I18n.locale.to_s], scope.id] }
|
147
148
|
else
|
@@ -17,6 +17,13 @@ module Decidim
|
|
17
17
|
|
18
18
|
attribute :name, Symbol
|
19
19
|
|
20
|
+
# The ActiveRecord class name of the model we're exposing
|
21
|
+
attribute :model_class_name, String
|
22
|
+
|
23
|
+
# The name of the named Rails route to create the url to the resource.
|
24
|
+
# When not explicitly set, it will use the model name.
|
25
|
+
attribute :route_name, String
|
26
|
+
|
20
27
|
# A String with the feature's icon. The icon must be stored in the
|
21
28
|
# engine's assets path.
|
22
29
|
attribute :icon, String
|
@@ -36,5 +43,12 @@ module Decidim
|
|
36
43
|
def seed!
|
37
44
|
@seeds&.call
|
38
45
|
end
|
46
|
+
|
47
|
+
# The name of the named Rails route to create the url to the resource.
|
48
|
+
#
|
49
|
+
# Returns a String.
|
50
|
+
def route_name
|
51
|
+
super || model_class_name.demodulize.underscore
|
52
|
+
end
|
39
53
|
end
|
40
54
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-09-
|
13
|
+
date: 2017-09-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -466,84 +466,84 @@ dependencies:
|
|
466
466
|
requirements:
|
467
467
|
- - '='
|
468
468
|
- !ruby/object:Gem::Version
|
469
|
-
version: 0.6.
|
469
|
+
version: 0.6.5
|
470
470
|
type: :runtime
|
471
471
|
prerelease: false
|
472
472
|
version_requirements: !ruby/object:Gem::Requirement
|
473
473
|
requirements:
|
474
474
|
- - '='
|
475
475
|
- !ruby/object:Gem::Version
|
476
|
-
version: 0.6.
|
476
|
+
version: 0.6.5
|
477
477
|
- !ruby/object:Gem::Dependency
|
478
478
|
name: decidim-dev
|
479
479
|
requirement: !ruby/object:Gem::Requirement
|
480
480
|
requirements:
|
481
481
|
- - '='
|
482
482
|
- !ruby/object:Gem::Version
|
483
|
-
version: 0.6.
|
483
|
+
version: 0.6.5
|
484
484
|
type: :development
|
485
485
|
prerelease: false
|
486
486
|
version_requirements: !ruby/object:Gem::Requirement
|
487
487
|
requirements:
|
488
488
|
- - '='
|
489
489
|
- !ruby/object:Gem::Version
|
490
|
-
version: 0.6.
|
490
|
+
version: 0.6.5
|
491
491
|
- !ruby/object:Gem::Dependency
|
492
492
|
name: decidim-participatory_processes
|
493
493
|
requirement: !ruby/object:Gem::Requirement
|
494
494
|
requirements:
|
495
495
|
- - '='
|
496
496
|
- !ruby/object:Gem::Version
|
497
|
-
version: 0.6.
|
497
|
+
version: 0.6.5
|
498
498
|
type: :development
|
499
499
|
prerelease: false
|
500
500
|
version_requirements: !ruby/object:Gem::Requirement
|
501
501
|
requirements:
|
502
502
|
- - '='
|
503
503
|
- !ruby/object:Gem::Version
|
504
|
-
version: 0.6.
|
504
|
+
version: 0.6.5
|
505
505
|
- !ruby/object:Gem::Dependency
|
506
506
|
name: decidim-proposals
|
507
507
|
requirement: !ruby/object:Gem::Requirement
|
508
508
|
requirements:
|
509
509
|
- - '='
|
510
510
|
- !ruby/object:Gem::Version
|
511
|
-
version: 0.6.
|
511
|
+
version: 0.6.5
|
512
512
|
type: :development
|
513
513
|
prerelease: false
|
514
514
|
version_requirements: !ruby/object:Gem::Requirement
|
515
515
|
requirements:
|
516
516
|
- - '='
|
517
517
|
- !ruby/object:Gem::Version
|
518
|
-
version: 0.6.
|
518
|
+
version: 0.6.5
|
519
519
|
- !ruby/object:Gem::Dependency
|
520
520
|
name: decidim-meetings
|
521
521
|
requirement: !ruby/object:Gem::Requirement
|
522
522
|
requirements:
|
523
523
|
- - '='
|
524
524
|
- !ruby/object:Gem::Version
|
525
|
-
version: 0.6.
|
525
|
+
version: 0.6.5
|
526
526
|
type: :development
|
527
527
|
prerelease: false
|
528
528
|
version_requirements: !ruby/object:Gem::Requirement
|
529
529
|
requirements:
|
530
530
|
- - '='
|
531
531
|
- !ruby/object:Gem::Version
|
532
|
-
version: 0.6.
|
532
|
+
version: 0.6.5
|
533
533
|
- !ruby/object:Gem::Dependency
|
534
534
|
name: decidim-results
|
535
535
|
requirement: !ruby/object:Gem::Requirement
|
536
536
|
requirements:
|
537
537
|
- - '='
|
538
538
|
- !ruby/object:Gem::Version
|
539
|
-
version: 0.6.
|
539
|
+
version: 0.6.5
|
540
540
|
type: :development
|
541
541
|
prerelease: false
|
542
542
|
version_requirements: !ruby/object:Gem::Requirement
|
543
543
|
requirements:
|
544
544
|
- - '='
|
545
545
|
- !ruby/object:Gem::Version
|
546
|
-
version: 0.6.
|
546
|
+
version: 0.6.5
|
547
547
|
description: Adds core features so other engines can hook into the framework.
|
548
548
|
email:
|
549
549
|
- josepjaume@gmail.com
|