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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/decidim/modules/_card-grid.scss +2 -2
  3. data/app/assets/stylesheets/decidim/modules/_filters.scss +3 -3
  4. data/app/assets/stylesheets/decidim/modules/_main-container.scss +1 -5
  5. data/app/assets/stylesheets/decidim/modules/_process-nav.scss +1 -2
  6. data/app/constraints/decidim/current_participatory_process.rb +1 -1
  7. data/app/controllers/concerns/decidim/needs_authorization.rb +2 -3
  8. data/app/controllers/concerns/decidim/needs_participatory_process.rb +1 -1
  9. data/app/controllers/concerns/decidim/{feature_settings.rb → settings.rb} +1 -1
  10. data/app/controllers/decidim/features/base_controller.rb +1 -2
  11. data/app/controllers/decidim/pages_controller.rb +1 -1
  12. data/app/helpers/decidim/feature_path_helper.rb +1 -1
  13. data/{lib → app/models}/decidim/abilities/admin_ability.rb +1 -0
  14. data/app/models/decidim/abilities/base_ability.rb +34 -0
  15. data/{lib → app/models}/decidim/abilities/participatory_process_admin_ability.rb +4 -0
  16. data/{lib → app/models}/decidim/abilities/participatory_process_collaborator_ability.rb +4 -0
  17. data/{lib → app/models}/decidim/abilities/participatory_process_moderator_ability.rb +0 -0
  18. data/app/models/decidim/feature.rb +3 -78
  19. data/app/models/decidim/organization.rb +0 -2
  20. data/app/models/decidim/participatory_process.rb +2 -16
  21. data/app/models/decidim/participatory_process_group.rb +1 -2
  22. data/app/models/decidim/participatory_process_user_role.rb +9 -0
  23. data/app/models/decidim/user.rb +0 -7
  24. data/app/presenters/decidim/home_stats_presenter.rb +1 -1
  25. data/app/presenters/decidim/resource_locator_presenter.rb +57 -15
  26. data/app/queries/decidim/highlighted_participatory_processes.rb +1 -2
  27. data/app/queries/decidim/organization_participatory_process_groups.rb +14 -0
  28. data/app/queries/decidim/organization_participatory_processes.rb +2 -6
  29. data/app/queries/decidim/organization_prioritized_participatory_processes.rb +3 -3
  30. data/app/queries/decidim/organization_published_participatory_processes.rb +17 -0
  31. data/app/queries/decidim/participatory_processes_with_user_role.rb +1 -1
  32. data/app/queries/decidim/prioritized_participatory_processes.rb +1 -1
  33. data/app/queries/decidim/published_participatory_processes.rb +10 -0
  34. data/app/views/layouts/decidim/_process_header.html.erb +2 -2
  35. data/config/locales/ca.yml +19 -0
  36. data/config/locales/es.yml +19 -0
  37. data/config/locales/fr.yml +2 -2
  38. data/db/migrate/20170608142521_add_organization_to_user_groups.rb +16 -3
  39. data/db/seeds.rb +17 -12
  40. data/lib/decidim/abilities.rb +0 -4
  41. data/lib/decidim/abilities/participatory_process_role_ability.rb +4 -1
  42. data/lib/decidim/core.rb +20 -20
  43. data/lib/decidim/core/api/decidim_type.rb +1 -1
  44. data/lib/decidim/core/api/process_step_type.rb +2 -2
  45. data/lib/decidim/core/api/process_type.rb +1 -1
  46. data/lib/decidim/core/api/session_type.rb +1 -1
  47. data/lib/decidim/core/api/translated_field_type.rb +3 -3
  48. data/lib/decidim/core/test.rb +1 -0
  49. data/lib/decidim/core/test/factories.rb +21 -2
  50. data/lib/decidim/core/test/shared_examples/publicable.rb +27 -0
  51. data/lib/decidim/core/version.rb +1 -1
  52. data/lib/decidim/feature_manifest.rb +6 -6
  53. data/lib/decidim/form_builder.rb +1 -1
  54. data/lib/decidim/has_category.rb +1 -1
  55. data/lib/decidim/has_settings.rb +66 -0
  56. data/lib/decidim/manifest_registry.rb +45 -0
  57. data/lib/decidim/publicable.rb +49 -0
  58. data/lib/decidim/query_extensions.rb +1 -1
  59. data/lib/decidim/reportable.rb +3 -3
  60. data/lib/decidim/{features/settings_manifest.rb → settings_manifest.rb} +5 -5
  61. metadata +26 -33
  62. data/app/models/decidim/ability.rb +0 -32
@@ -16,7 +16,7 @@ module Decidim
16
16
  description "Lists all processes."
17
17
 
18
18
  resolve lambda { |_obj, _args, ctx|
19
- OrganizationParticipatoryProcesses.new(ctx[:current_organization])
19
+ OrganizationPublishedParticipatoryProcesses.new(ctx[:current_organization])
20
20
  }
21
21
  end
22
22
 
@@ -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 proposal.
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 proposal is hidden or not.
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 proposal has been reported or not.
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 FeatureSettingsManifest
7
+ class SettingsManifest
8
8
  attr_reader :attributes
9
9
 
10
- # Initializes a FeatureSettingsManifest.
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 FeatureSettingsManifest.
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, "FeatureSettings")
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 FeatureSettingsManifest
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.3
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-07-25 00:00:00.000000000 Z
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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.3
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/ability.rb
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