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.
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