decidim-core 0.4.3 → 0.4.4
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/modules/_card-grid.scss +2 -2
- data/app/assets/stylesheets/decidim/modules/_filters.scss +3 -3
- data/app/assets/stylesheets/decidim/modules/_main-container.scss +1 -5
- data/app/assets/stylesheets/decidim/modules/_process-nav.scss +1 -2
- data/app/constraints/decidim/current_participatory_process.rb +1 -1
- data/app/controllers/concerns/decidim/needs_authorization.rb +2 -3
- data/app/controllers/concerns/decidim/needs_participatory_process.rb +1 -1
- data/app/controllers/concerns/decidim/{feature_settings.rb → settings.rb} +1 -1
- data/app/controllers/decidim/features/base_controller.rb +1 -2
- data/app/controllers/decidim/pages_controller.rb +1 -1
- data/app/helpers/decidim/feature_path_helper.rb +1 -1
- data/{lib → app/models}/decidim/abilities/admin_ability.rb +1 -0
- data/app/models/decidim/abilities/base_ability.rb +34 -0
- data/{lib → app/models}/decidim/abilities/participatory_process_admin_ability.rb +4 -0
- data/{lib → app/models}/decidim/abilities/participatory_process_collaborator_ability.rb +4 -0
- data/{lib → app/models}/decidim/abilities/participatory_process_moderator_ability.rb +0 -0
- data/app/models/decidim/feature.rb +3 -78
- data/app/models/decidim/organization.rb +0 -2
- data/app/models/decidim/participatory_process.rb +2 -16
- data/app/models/decidim/participatory_process_group.rb +1 -2
- data/app/models/decidim/participatory_process_user_role.rb +9 -0
- data/app/models/decidim/user.rb +0 -7
- data/app/presenters/decidim/home_stats_presenter.rb +1 -1
- data/app/presenters/decidim/resource_locator_presenter.rb +57 -15
- data/app/queries/decidim/highlighted_participatory_processes.rb +1 -2
- data/app/queries/decidim/organization_participatory_process_groups.rb +14 -0
- data/app/queries/decidim/organization_participatory_processes.rb +2 -6
- data/app/queries/decidim/organization_prioritized_participatory_processes.rb +3 -3
- data/app/queries/decidim/organization_published_participatory_processes.rb +17 -0
- data/app/queries/decidim/participatory_processes_with_user_role.rb +1 -1
- data/app/queries/decidim/prioritized_participatory_processes.rb +1 -1
- data/app/queries/decidim/published_participatory_processes.rb +10 -0
- data/app/views/layouts/decidim/_process_header.html.erb +2 -2
- data/config/locales/ca.yml +19 -0
- data/config/locales/es.yml +19 -0
- data/config/locales/fr.yml +2 -2
- data/db/migrate/20170608142521_add_organization_to_user_groups.rb +16 -3
- data/db/seeds.rb +17 -12
- data/lib/decidim/abilities.rb +0 -4
- data/lib/decidim/abilities/participatory_process_role_ability.rb +4 -1
- data/lib/decidim/core.rb +20 -20
- data/lib/decidim/core/api/decidim_type.rb +1 -1
- data/lib/decidim/core/api/process_step_type.rb +2 -2
- data/lib/decidim/core/api/process_type.rb +1 -1
- data/lib/decidim/core/api/session_type.rb +1 -1
- data/lib/decidim/core/api/translated_field_type.rb +3 -3
- data/lib/decidim/core/test.rb +1 -0
- data/lib/decidim/core/test/factories.rb +21 -2
- data/lib/decidim/core/test/shared_examples/publicable.rb +27 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/feature_manifest.rb +6 -6
- data/lib/decidim/form_builder.rb +1 -1
- data/lib/decidim/has_category.rb +1 -1
- data/lib/decidim/has_settings.rb +66 -0
- data/lib/decidim/manifest_registry.rb +45 -0
- data/lib/decidim/publicable.rb +49 -0
- data/lib/decidim/query_extensions.rb +1 -1
- data/lib/decidim/reportable.rb +3 -3
- data/lib/decidim/{features/settings_manifest.rb → settings_manifest.rb} +5 -5
- metadata +26 -33
- data/app/models/decidim/ability.rb +0 -32
data/lib/decidim/reportable.rb
CHANGED
@@ -15,21 +15,21 @@ module Decidim
|
|
15
15
|
scope :hidden, -> { left_outer_joins(:moderation).where.not(Decidim::Moderation.arel_table[:hidden_at].eq nil) }
|
16
16
|
scope :not_hidden, -> { left_outer_joins(:moderation).where(Decidim::Moderation.arel_table[:hidden_at].eq nil) }
|
17
17
|
|
18
|
-
# Public: Check if the user has reported the
|
18
|
+
# Public: Check if the user has reported the reportable.
|
19
19
|
#
|
20
20
|
# Returns Boolean.
|
21
21
|
def reported_by?(user)
|
22
22
|
reports.where(user: user).any?
|
23
23
|
end
|
24
24
|
|
25
|
-
# Public: Checks if the
|
25
|
+
# Public: Checks if the reportable is hidden or not.
|
26
26
|
#
|
27
27
|
# Returns Boolean.
|
28
28
|
def hidden?
|
29
29
|
moderation&.hidden_at&.present?
|
30
30
|
end
|
31
31
|
|
32
|
-
# Public: Checks if the
|
32
|
+
# Public: Checks if the reportable has been reported or not.
|
33
33
|
#
|
34
34
|
# Returns Boolean.
|
35
35
|
def reported?
|
@@ -4,15 +4,15 @@ module Decidim
|
|
4
4
|
# This class serves as a DSL that enables specifying an arbitrary settings
|
5
5
|
# to a feature, so the admin panel can show a standarized UI to configure them.
|
6
6
|
#
|
7
|
-
class
|
7
|
+
class SettingsManifest
|
8
8
|
attr_reader :attributes
|
9
9
|
|
10
|
-
# Initializes a
|
10
|
+
# Initializes a SettingsManifest.
|
11
11
|
def initialize
|
12
12
|
@attributes = {}
|
13
13
|
end
|
14
14
|
|
15
|
-
# Public: Adds a new attribute field to the
|
15
|
+
# Public: Adds a new attribute field to the SettingsManifest.
|
16
16
|
#
|
17
17
|
# name - The name of the attribute to inject.
|
18
18
|
# options - A set of options to configure the attribute.
|
@@ -44,7 +44,7 @@ module Decidim
|
|
44
44
|
cattr_accessor :manifest
|
45
45
|
|
46
46
|
def self.model_name
|
47
|
-
ActiveModel::Name.new(self, nil, "
|
47
|
+
ActiveModel::Name.new(self, nil, "Settings")
|
48
48
|
end
|
49
49
|
|
50
50
|
def manifest
|
@@ -65,7 +65,7 @@ module Decidim
|
|
65
65
|
@schema
|
66
66
|
end
|
67
67
|
|
68
|
-
# Semi-private: Attributes are an abstraction used by
|
68
|
+
# Semi-private: Attributes are an abstraction used by SettingsManifest
|
69
69
|
# to encapsulate behavior related to each individual settings field. Shouldn't
|
70
70
|
# be used from the outside.
|
71
71
|
class Attribute
|
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.4.
|
4
|
+
version: 0.4.4
|
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-
|
13
|
+
date: 2017-08-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -96,20 +96,6 @@ dependencies:
|
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: 0.9.1
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
|
-
name: sass
|
101
|
-
requirement: !ruby/object:Gem::Requirement
|
102
|
-
requirements:
|
103
|
-
- - '='
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: 3.4.24
|
106
|
-
type: :runtime
|
107
|
-
prerelease: false
|
108
|
-
version_requirements: !ruby/object:Gem::Requirement
|
109
|
-
requirements:
|
110
|
-
- - '='
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 3.4.24
|
113
99
|
- !ruby/object:Gem::Dependency
|
114
100
|
name: sassc-rails
|
115
101
|
requirement: !ruby/object:Gem::Requirement
|
@@ -466,70 +452,70 @@ dependencies:
|
|
466
452
|
requirements:
|
467
453
|
- - '='
|
468
454
|
- !ruby/object:Gem::Version
|
469
|
-
version: 0.4.
|
455
|
+
version: 0.4.4
|
470
456
|
type: :runtime
|
471
457
|
prerelease: false
|
472
458
|
version_requirements: !ruby/object:Gem::Requirement
|
473
459
|
requirements:
|
474
460
|
- - '='
|
475
461
|
- !ruby/object:Gem::Version
|
476
|
-
version: 0.4.
|
462
|
+
version: 0.4.4
|
477
463
|
- !ruby/object:Gem::Dependency
|
478
464
|
name: decidim-dev
|
479
465
|
requirement: !ruby/object:Gem::Requirement
|
480
466
|
requirements:
|
481
467
|
- - '='
|
482
468
|
- !ruby/object:Gem::Version
|
483
|
-
version: 0.4.
|
469
|
+
version: 0.4.4
|
484
470
|
type: :development
|
485
471
|
prerelease: false
|
486
472
|
version_requirements: !ruby/object:Gem::Requirement
|
487
473
|
requirements:
|
488
474
|
- - '='
|
489
475
|
- !ruby/object:Gem::Version
|
490
|
-
version: 0.4.
|
476
|
+
version: 0.4.4
|
491
477
|
- !ruby/object:Gem::Dependency
|
492
478
|
name: decidim-proposals
|
493
479
|
requirement: !ruby/object:Gem::Requirement
|
494
480
|
requirements:
|
495
481
|
- - '='
|
496
482
|
- !ruby/object:Gem::Version
|
497
|
-
version: 0.4.
|
483
|
+
version: 0.4.4
|
498
484
|
type: :development
|
499
485
|
prerelease: false
|
500
486
|
version_requirements: !ruby/object:Gem::Requirement
|
501
487
|
requirements:
|
502
488
|
- - '='
|
503
489
|
- !ruby/object:Gem::Version
|
504
|
-
version: 0.4.
|
490
|
+
version: 0.4.4
|
505
491
|
- !ruby/object:Gem::Dependency
|
506
492
|
name: decidim-meetings
|
507
493
|
requirement: !ruby/object:Gem::Requirement
|
508
494
|
requirements:
|
509
495
|
- - '='
|
510
496
|
- !ruby/object:Gem::Version
|
511
|
-
version: 0.4.
|
497
|
+
version: 0.4.4
|
512
498
|
type: :development
|
513
499
|
prerelease: false
|
514
500
|
version_requirements: !ruby/object:Gem::Requirement
|
515
501
|
requirements:
|
516
502
|
- - '='
|
517
503
|
- !ruby/object:Gem::Version
|
518
|
-
version: 0.4.
|
504
|
+
version: 0.4.4
|
519
505
|
- !ruby/object:Gem::Dependency
|
520
506
|
name: decidim-results
|
521
507
|
requirement: !ruby/object:Gem::Requirement
|
522
508
|
requirements:
|
523
509
|
- - '='
|
524
510
|
- !ruby/object:Gem::Version
|
525
|
-
version: 0.4.
|
511
|
+
version: 0.4.4
|
526
512
|
type: :development
|
527
513
|
prerelease: false
|
528
514
|
version_requirements: !ruby/object:Gem::Requirement
|
529
515
|
requirements:
|
530
516
|
- - '='
|
531
517
|
- !ruby/object:Gem::Version
|
532
|
-
version: 0.4.
|
518
|
+
version: 0.4.4
|
533
519
|
description: Adds core features so other engines can hook into the framework.
|
534
520
|
email:
|
535
521
|
- josepjaume@gmail.com
|
@@ -660,7 +646,6 @@ files:
|
|
660
646
|
- app/constraints/decidim/current_participatory_process.rb
|
661
647
|
- app/controllers/concerns/decidim/action_authorization.rb
|
662
648
|
- app/controllers/concerns/decidim/devise_controllers.rb
|
663
|
-
- app/controllers/concerns/decidim/feature_settings.rb
|
664
649
|
- app/controllers/concerns/decidim/filter_resource.rb
|
665
650
|
- app/controllers/concerns/decidim/form_factory.rb
|
666
651
|
- app/controllers/concerns/decidim/locale_switcher.rb
|
@@ -669,6 +654,7 @@ files:
|
|
669
654
|
- app/controllers/concerns/decidim/needs_participatory_process.rb
|
670
655
|
- app/controllers/concerns/decidim/paginable.rb
|
671
656
|
- app/controllers/concerns/decidim/payload_info.rb
|
657
|
+
- app/controllers/concerns/decidim/settings.rb
|
672
658
|
- app/controllers/concerns/decidim/user_profile.rb
|
673
659
|
- app/controllers/decidim/account_controller.rb
|
674
660
|
- app/controllers/decidim/application_controller.rb
|
@@ -740,8 +726,12 @@ files:
|
|
740
726
|
- app/mailers/decidim/newsletter_mailer.rb
|
741
727
|
- app/mailers/decidim/reported_mailer.rb
|
742
728
|
- app/middleware/decidim/current_organization.rb
|
729
|
+
- app/models/decidim/abilities/admin_ability.rb
|
730
|
+
- app/models/decidim/abilities/base_ability.rb
|
743
731
|
- app/models/decidim/abilities/everyone_ability.rb
|
744
|
-
- app/models/decidim/
|
732
|
+
- app/models/decidim/abilities/participatory_process_admin_ability.rb
|
733
|
+
- app/models/decidim/abilities/participatory_process_collaborator_ability.rb
|
734
|
+
- app/models/decidim/abilities/participatory_process_moderator_ability.rb
|
745
735
|
- app/models/decidim/application_record.rb
|
746
736
|
- app/models/decidim/attachment.rb
|
747
737
|
- app/models/decidim/authorization.rb
|
@@ -769,11 +759,14 @@ files:
|
|
769
759
|
- app/presenters/decidim/participatory_process_stats_presenter.rb
|
770
760
|
- app/presenters/decidim/resource_locator_presenter.rb
|
771
761
|
- app/queries/decidim/highlighted_participatory_processes.rb
|
762
|
+
- app/queries/decidim/organization_participatory_process_groups.rb
|
772
763
|
- app/queries/decidim/organization_participatory_processes.rb
|
773
764
|
- app/queries/decidim/organization_prioritized_participatory_processes.rb
|
765
|
+
- app/queries/decidim/organization_published_participatory_processes.rb
|
774
766
|
- app/queries/decidim/participatory_processes_with_user_role.rb
|
775
767
|
- app/queries/decidim/prioritized_participatory_processes.rb
|
776
768
|
- app/queries/decidim/promoted_participatory_processes.rb
|
769
|
+
- app/queries/decidim/published_participatory_processes.rb
|
777
770
|
- app/queries/decidim/stats_users_count.rb
|
778
771
|
- app/services/decidim/action_authorizer.rb
|
779
772
|
- app/services/decidim/authorization_handler.rb
|
@@ -985,10 +978,6 @@ files:
|
|
985
978
|
- db/seeds/city3.jpeg
|
986
979
|
- db/seeds/homepage_image.jpg
|
987
980
|
- lib/decidim/abilities.rb
|
988
|
-
- lib/decidim/abilities/admin_ability.rb
|
989
|
-
- lib/decidim/abilities/participatory_process_admin_ability.rb
|
990
|
-
- lib/decidim/abilities/participatory_process_collaborator_ability.rb
|
991
|
-
- lib/decidim/abilities/participatory_process_moderator_ability.rb
|
992
981
|
- lib/decidim/abilities/participatory_process_role_ability.rb
|
993
982
|
- lib/decidim/attributes.rb
|
994
983
|
- lib/decidim/attributes/time_with_zone.rb
|
@@ -1019,6 +1008,7 @@ files:
|
|
1019
1008
|
- lib/decidim/core/test/shared_examples/localised_email.rb
|
1020
1009
|
- lib/decidim/core/test/shared_examples/manage_moderations_examples.rb
|
1021
1010
|
- lib/decidim/core/test/shared_examples/paginated_resource_examples.rb
|
1011
|
+
- lib/decidim/core/test/shared_examples/publicable.rb
|
1022
1012
|
- lib/decidim/core/test/shared_examples/reportable.rb
|
1023
1013
|
- lib/decidim/core/test/shared_examples/reports_examples.rb
|
1024
1014
|
- lib/decidim/core/version.rb
|
@@ -1035,7 +1025,6 @@ files:
|
|
1035
1025
|
- lib/decidim/features.rb
|
1036
1026
|
- lib/decidim/features/export_manifest.rb
|
1037
1027
|
- lib/decidim/features/namer.rb
|
1038
|
-
- lib/decidim/features/settings_manifest.rb
|
1039
1028
|
- lib/decidim/file_zipper.rb
|
1040
1029
|
- lib/decidim/filter_form_builder.rb
|
1041
1030
|
- lib/decidim/form_builder.rb
|
@@ -1044,16 +1033,20 @@ files:
|
|
1044
1033
|
- lib/decidim/has_feature.rb
|
1045
1034
|
- lib/decidim/has_reference.rb
|
1046
1035
|
- lib/decidim/has_scope.rb
|
1036
|
+
- lib/decidim/has_settings.rb
|
1047
1037
|
- lib/decidim/i18n_exceptions.rb
|
1038
|
+
- lib/decidim/manifest_registry.rb
|
1048
1039
|
- lib/decidim/menu.rb
|
1049
1040
|
- lib/decidim/menu_item.rb
|
1050
1041
|
- lib/decidim/menu_registry.rb
|
1051
1042
|
- lib/decidim/notifiable.rb
|
1052
1043
|
- lib/decidim/page_finder.rb
|
1044
|
+
- lib/decidim/publicable.rb
|
1053
1045
|
- lib/decidim/query_extensions.rb
|
1054
1046
|
- lib/decidim/reportable.rb
|
1055
1047
|
- lib/decidim/resource_manifest.rb
|
1056
1048
|
- lib/decidim/resourceable.rb
|
1049
|
+
- lib/decidim/settings_manifest.rb
|
1057
1050
|
- lib/decidim/stats_registry.rb
|
1058
1051
|
- lib/decidim/translatable_attributes.rb
|
1059
1052
|
- lib/devise/models/decidim_validatable.rb
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
# Defines the abilities for a User. Intended to be used with `cancancan`.
|
5
|
-
class Ability
|
6
|
-
include CanCan::Ability
|
7
|
-
|
8
|
-
# Initializes the ability class for the given user. Automatically merges
|
9
|
-
# injected abilities fmor the configuration. In order to inject more
|
10
|
-
# abilities, add this code in the `engine.rb` file of your own engine, for
|
11
|
-
# example, inside an initializer:
|
12
|
-
#
|
13
|
-
# Decidim.configure do |config|
|
14
|
-
# config.abilities << Decidim::MyEngine::Abilities::MyAbility
|
15
|
-
# end
|
16
|
-
#
|
17
|
-
# Note that, in development, this will force you to restart the server
|
18
|
-
# every time you change things in your ability classes.
|
19
|
-
#
|
20
|
-
# user - the User that needs its abilities checked.
|
21
|
-
# context - a Hash with some context related to the current request.
|
22
|
-
def initialize(user, context = {})
|
23
|
-
Decidim.abilities.each do |ability|
|
24
|
-
merge ability.constantize.new(user, context)
|
25
|
-
end
|
26
|
-
|
27
|
-
can :manage, Authorization do |authorization|
|
28
|
-
authorization.user == user
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|