decidim-core 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|