decidim-core 0.12.2 → 0.13.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/decidim/modules/_order-by.scss +4 -1
  3. data/app/cells/decidim/author/comments.erb +2 -2
  4. data/app/cells/decidim/author/date.erb +1 -1
  5. data/app/cells/decidim/author_cell.rb +22 -38
  6. data/app/cells/decidim/card_m/authors.erb +9 -0
  7. data/app/cells/decidim/card_m/status.erb +1 -1
  8. data/app/cells/decidim/card_m_cell.rb +8 -0
  9. data/app/cells/decidim/collapsible_authors/show.erb +16 -0
  10. data/app/cells/decidim/collapsible_authors_cell.rb +32 -0
  11. data/app/cells/decidim/invitations_toggle/content.erb +1 -0
  12. data/app/cells/decidim/invitations_toggle/label.erb +1 -0
  13. data/app/cells/decidim/invitations_toggle_cell.rb +27 -0
  14. data/app/cells/decidim/toggle/show.erb +8 -0
  15. data/app/cells/decidim/toggle_cell.rb +42 -0
  16. data/app/cells/decidim/tos_page/refuse_btn_modal.erb +25 -14
  17. data/app/commands/decidim/create_omniauth_registration.rb +1 -1
  18. data/app/commands/decidim/create_registration.rb +1 -1
  19. data/app/commands/decidim/create_report.rb +10 -10
  20. data/app/commands/decidim/invite_friends.rb +48 -0
  21. data/app/commands/decidim/invite_user.rb +4 -2
  22. data/app/commands/decidim/unsubscribe_settings.rb +3 -3
  23. data/app/commands/decidim/update_notifications_settings.rb +1 -1
  24. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +6 -1
  25. data/app/controllers/decidim/data_portability_controller.rb +55 -0
  26. data/app/controllers/decidim/devise/invitations_controller.rb +1 -0
  27. data/app/controllers/decidim/invitations_controller.rb +32 -0
  28. data/app/controllers/decidim/newsletters_opt_in_controller.rb +31 -0
  29. data/app/forms/decidim/account_form.rb +1 -1
  30. data/app/forms/decidim/invitations_form.rb +37 -0
  31. data/app/forms/decidim/notifications_settings_form.rb +5 -0
  32. data/app/forms/decidim/omniauth_registration_form.rb +1 -1
  33. data/app/forms/decidim/registration_form.rb +7 -1
  34. data/app/helpers/decidim/cells_helper.rb +44 -0
  35. data/app/jobs/decidim/data_portability_export_job.rb +21 -0
  36. data/app/jobs/decidim/newsletters_opt_in_job.rb +11 -0
  37. data/app/mailers/decidim/export_mailer.rb +13 -0
  38. data/app/mailers/decidim/newsletters_opt_in_mailer.rb +15 -0
  39. data/app/models/decidim/coauthorship.rb +23 -0
  40. data/app/models/decidim/follow.rb +10 -0
  41. data/app/models/decidim/identity.rb +10 -0
  42. data/app/models/decidim/messaging/conversation.rb +10 -0
  43. data/app/models/decidim/notification.rb +10 -0
  44. data/app/models/decidim/participatory_space_private_user.rb +10 -0
  45. data/app/models/decidim/report.rb +10 -0
  46. data/app/models/decidim/user.rb +16 -1
  47. data/app/models/decidim/user_group.rb +9 -0
  48. data/app/services/decidim/action_authorizer.rb +1 -1
  49. data/app/uploaders/decidim/avatar_uploader.rb +6 -2
  50. data/app/uploaders/decidim/data_portability_uploader.rb +19 -0
  51. data/app/views/decidim/data_portability/export.html.erb +1 -0
  52. data/app/views/decidim/data_portability/show.html.erb +5 -0
  53. data/app/views/decidim/devise/invitations/edit.html.erb +1 -1
  54. data/app/views/decidim/devise/shared/_newsletter_modal.html.erb +13 -13
  55. data/app/views/decidim/export_mailer/data_portability_export.html.erb +2 -0
  56. data/app/views/decidim/invitations/index.html.erb +48 -0
  57. data/app/views/decidim/newsletters_opt_in_mailer/notify.html.erb +23 -0
  58. data/app/views/decidim/profiles/_user.html.erb +1 -1
  59. data/app/views/devise/mailer/invite_friend.html.erb +27 -0
  60. data/app/views/devise/mailer/invite_friend.text.erb +19 -0
  61. data/app/views/layouts/decidim/_user_menu.html.erb +1 -0
  62. data/config/locales/ca.yml +68 -2
  63. data/config/locales/en.yml +73 -3
  64. data/config/locales/es-PY.yml +67 -1
  65. data/config/locales/es.yml +67 -1
  66. data/config/locales/eu.yml +68 -2
  67. data/config/locales/fi.yml +69 -3
  68. data/config/locales/fr.yml +136 -70
  69. data/config/locales/gl.yml +69 -3
  70. data/config/locales/it.yml +69 -3
  71. data/config/locales/nl.yml +69 -3
  72. data/config/locales/pl.yml +69 -3
  73. data/config/locales/pt-BR.yml +69 -3
  74. data/config/locales/pt.yml +69 -3
  75. data/config/locales/ru.yml +45 -2
  76. data/config/locales/sv.yml +69 -3
  77. data/config/locales/uk.yml +61 -2
  78. data/config/routes.rb +10 -0
  79. data/db/migrate/20171212103803_create_unique_nicknames.rb +1 -1
  80. data/db/migrate/20180221101934_fix_nickname_index.rb +3 -1
  81. data/db/migrate/20180427141253_create_coauthorships.rb +13 -0
  82. data/db/migrate/20180611121852_change_newsletter_notification_type_value.rb +21 -0
  83. data/lib/decidim/api/authorable_interface.rb +10 -1
  84. data/lib/decidim/authorable.rb +4 -1
  85. data/lib/decidim/coauthorable.rb +69 -0
  86. data/lib/decidim/component_manifest.rb +4 -0
  87. data/lib/decidim/core.rb +10 -0
  88. data/lib/decidim/core/engine.rb +5 -0
  89. data/lib/decidim/core/test.rb +1 -0
  90. data/lib/decidim/core/test/factories.rb +9 -1
  91. data/lib/decidim/core/test/shared_examples/coauthorable.rb +111 -0
  92. data/lib/decidim/core/test/shared_examples/coauthorable_interface_examples.rb +31 -0
  93. data/lib/decidim/core/test/shared_examples/simple_event.rb +7 -1
  94. data/lib/decidim/core/version.rb +1 -1
  95. data/lib/decidim/data_portability.rb +29 -0
  96. data/lib/decidim/data_portability_file_reader.rb +56 -0
  97. data/lib/decidim/data_portability_file_zipper.rb +55 -0
  98. data/lib/decidim/data_portability_serializers.rb +23 -0
  99. data/lib/decidim/data_portability_serializers/data_portability_conversation_serializer.rb +42 -0
  100. data/lib/decidim/data_portability_serializers/data_portability_follow_serializer.rb +23 -0
  101. data/lib/decidim/data_portability_serializers/data_portability_identity_serializer.rb +25 -0
  102. data/lib/decidim/data_portability_serializers/data_portability_notification_serializer.rb +26 -0
  103. data/lib/decidim/data_portability_serializers/data_portability_participatory_space_private_user_serializer.rb +25 -0
  104. data/lib/decidim/data_portability_serializers/data_portability_report_serializer.rb +36 -0
  105. data/lib/decidim/data_portability_serializers/data_portability_user_group_serializer.rb +21 -0
  106. data/lib/decidim/data_portability_serializers/data_portability_user_serializer.rb +55 -0
  107. data/lib/decidim/events.rb +1 -0
  108. data/lib/decidim/events/coauthor_event.rb +42 -0
  109. data/lib/decidim/exporters/csv.rb +0 -1
  110. data/lib/decidim/form_builder.rb +1 -2
  111. data/lib/decidim/nicknamizable.rb +15 -4
  112. data/lib/decidim/participable.rb +7 -0
  113. data/lib/decidim/participatory_space_manifest.rb +4 -0
  114. data/lib/devise/models/decidim_newsletterable.rb +60 -0
  115. data/lib/tasks/decidim_tasks.rake +29 -0
  116. metadata +73 -28
@@ -21,7 +21,6 @@ module Decidim
21
21
  csv << headers.map { |header| resource[header] }
22
22
  end
23
23
  end
24
-
25
24
  ExportData.new(data, "csv")
26
25
  end
27
26
 
@@ -261,8 +261,7 @@ module Decidim
261
261
  attribute,
262
262
  options.merge(name: nil,
263
263
  id: "date_field_#{@object_name}_#{attribute}",
264
- data: data,
265
- readonly: true)
264
+ data: data)
266
265
  )
267
266
  template += @template.hidden_field(@object_name, attribute, value: iso_value)
268
267
  template += error_and_help_text(attribute, options)
@@ -26,8 +26,19 @@ module Decidim
26
26
  # * Trims length so it fits validation constraints.
27
27
  # * Disambiguates it so it's unique.
28
28
  #
29
- def nicknamize(name)
30
- disambiguate(name.parameterize(separator: "_")[nickname_length_range])
29
+ # name - the String to nicknamize
30
+ # scope - a Hash with extra values to scope the nickname to
31
+ #
32
+ # Example to nicknamize a user name, scoped to the organization:
33
+ #
34
+ # nicknamize(user_name, organization: current_organization)
35
+ #
36
+ def nicknamize(name, scope = {})
37
+ return unless name
38
+ disambiguate(
39
+ name.parameterize(separator: "_")[nickname_length_range],
40
+ scope
41
+ )
31
42
  end
32
43
 
33
44
  private
@@ -36,11 +47,11 @@ module Decidim
36
47
  (0...nickname_max_length)
37
48
  end
38
49
 
39
- def disambiguate(name)
50
+ def disambiguate(name, scope)
40
51
  candidate = name
41
52
 
42
53
  2.step do |n|
43
- return candidate unless exists?(nickname: candidate)
54
+ return candidate unless exists?(scope.merge(nickname: candidate))
44
55
 
45
56
  candidate = numbered_variation_of(name, n)
46
57
  end
@@ -53,6 +53,13 @@ module Decidim
53
53
  admins_query.for(self)
54
54
  end
55
55
 
56
+ # Public: Returns an ActiveRecord::Relation of all the users that can
57
+ # moderate the space. This is used when notifying of flagged/hidden
58
+ # content.
59
+ def moderators
60
+ admins
61
+ end
62
+
56
63
  def allows_steps?
57
64
  respond_to?(:steps)
58
65
  end
@@ -24,6 +24,10 @@ module Decidim
24
24
 
25
25
  attribute :query_type, String, default: "Decidim::Core::ParticipatorySpaceType"
26
26
 
27
+ # An array with the name of the classes that will be exported with
28
+ # the data portability feature for this component. For example, `Decidim::<MyModule>::<MyClass>``
29
+ attribute :data_portable_entities, Array, default: []
30
+
27
31
  # A String with the component's icon. The icon must be stored in the
28
32
  # engine's assets path.
29
33
  attribute :icon, String
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Devise
4
+ module Models
5
+ # Newsletterable adds all needed validations to acomplish GDPR standards
6
+ # in newsletter notification mailing
7
+ #
8
+ # Validates that all users with notifications activated have Opt-in in
9
+ # some time
10
+ module DecidimNewsletterable
11
+ GDPR_DATE = Time.zone.parse("2018-05-25 00:00 +02:00")
12
+
13
+ def newsletter_opt_in_notify
14
+ unless newsletter_opt_in_valid?
15
+ set_newsletter_token!
16
+ Decidim::NewslettersOptInJob.perform_later(self, newsletter_token)
17
+ end
18
+ end
19
+
20
+ def newsletter_opt_in_validate
21
+ set_newsletter_opt_in! if newsletter_notifications_at.blank?
22
+ end
23
+
24
+ protected
25
+
26
+ # Checks if Opt-in is valid or not
27
+ # An user with notifications activated, must have an Opt-in
28
+ def newsletter_opt_in_valid?
29
+ newsletter_notifications_at > GDPR_DATE
30
+ end
31
+
32
+ # Fill token value with some random value
33
+ # Removes opt_int timestamp
34
+ # Deactivate newsletter notifications
35
+ def set_newsletter_token
36
+ self.newsletter_notifications_at = nil
37
+ self.newsletter_token = SecureRandom.base58(24)
38
+ end
39
+
40
+ # Sets token and Opt-in values & saves
41
+ def set_newsletter_token!
42
+ set_newsletter_token
43
+ save
44
+ end
45
+
46
+ # Fill Opt-in value with current time &
47
+ # removes any token involved
48
+ def set_newsletter_opt_in
49
+ self.newsletter_notifications_at = Time.zone.now
50
+ self.newsletter_token = ""
51
+ end
52
+
53
+ # Sets Opt-in and token values & saves
54
+ def set_newsletter_opt_in!
55
+ set_newsletter_opt_in
56
+ save
57
+ end
58
+ end
59
+ end
60
+ end
@@ -81,4 +81,33 @@ namespace :decidim do
81
81
  log.info "RightToBeForgotten: --------------- END #{Time.current}"
82
82
  end
83
83
  end
84
+
85
+ desc "Check and notify users to update her newsletter notifications settings"
86
+ task check_users_newsletter_opt_in: :environment do
87
+ print %(
88
+ > This will send an email to all the users that have marked the newsletter by default. This should only be run if you were using Decidim before v0.11
89
+ If you have any doubts regarding this feature, please check the releases notes for this version https://github.com/decidim/decidim/releases/tag/v0.12
90
+ Are you sure you want to do that? [y/N]: )
91
+ input = $stdin.gets.chomp
92
+ if input.casecmp("y").zero?
93
+ puts %( Continue...)
94
+ Decidim::User.where("newsletter_notifications_at < ?", Time.zone.parse("2018-05-25 00:00 +02:00")).find_each(&:newsletter_opt_in_notify)
95
+ else
96
+ puts %( Execution cancelled...)
97
+ end
98
+ end
99
+
100
+ desc "Deletes the data portability file inside tmp/data-portability folder."
101
+ task delete_data_portability_files: :environment do
102
+ puts "DELETE DATA PORTABILITY FILES: -------------- START"
103
+ path = Decidim::DataPortabilityUploader.new.store_dir
104
+ Dir.glob(Rails.root.join(path, "*")).each do |filename|
105
+ next unless File.mtime(filename) < Decidim.data_portability_expiry_time.ago
106
+ File.delete(filename)
107
+ puts "------"
108
+ puts "!! deleting #{filename}"
109
+ puts "------"
110
+ end
111
+ puts "DELETE DATA PORTABILITY FILES: --------------- END"
112
+ end
84
113
  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.12.2
4
+ version: 0.13.0.pre1
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: 2018-07-11 00:00:00.000000000 Z
13
+ date: 2018-06-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -290,6 +290,20 @@ dependencies:
290
290
  - - "~>"
291
291
  - !ruby/object:Gem::Version
292
292
  version: '4.8'
293
+ - !ruby/object:Gem::Dependency
294
+ name: nobspw
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: 0.4.0
300
+ type: :runtime
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: 0.4.0
293
307
  - !ruby/object:Gem::Dependency
294
308
  name: omniauth
295
309
  requirement: !ruby/object:Gem::Requirement
@@ -420,14 +434,14 @@ dependencies:
420
434
  requirements:
421
435
  - - "~>"
422
436
  - !ruby/object:Gem::Version
423
- version: 5.2.0
437
+ version: '5.2'
424
438
  type: :runtime
425
439
  prerelease: false
426
440
  version_requirements: !ruby/object:Gem::Requirement
427
441
  requirements:
428
442
  - - "~>"
429
443
  - !ruby/object:Gem::Version
430
- version: 5.2.0
444
+ version: '5.2'
431
445
  - !ruby/object:Gem::Dependency
432
446
  name: rails
433
447
  requirement: !ruby/object:Gem::Requirement
@@ -504,20 +518,6 @@ dependencies:
504
518
  - - "~>"
505
519
  - !ruby/object:Gem::Version
506
520
  version: '1.2'
507
- - !ruby/object:Gem::Dependency
508
- name: sassc
509
- requirement: !ruby/object:Gem::Requirement
510
- requirements:
511
- - - "~>"
512
- - !ruby/object:Gem::Version
513
- version: 1.11.0
514
- type: :runtime
515
- prerelease: false
516
- version_requirements: !ruby/object:Gem::Requirement
517
- requirements:
518
- - - "~>"
519
- - !ruby/object:Gem::Version
520
- version: 1.11.0
521
521
  - !ruby/object:Gem::Dependency
522
522
  name: sassc-rails
523
523
  requirement: !ruby/object:Gem::Requirement
@@ -620,30 +620,30 @@ dependencies:
620
620
  name: decidim-api
621
621
  requirement: !ruby/object:Gem::Requirement
622
622
  requirements:
623
- - - '='
623
+ - - "~>"
624
624
  - !ruby/object:Gem::Version
625
- version: 0.12.2
625
+ version: 0.13.a
626
626
  type: :runtime
627
627
  prerelease: false
628
628
  version_requirements: !ruby/object:Gem::Requirement
629
629
  requirements:
630
- - - '='
630
+ - - "~>"
631
631
  - !ruby/object:Gem::Version
632
- version: 0.12.2
632
+ version: 0.13.a
633
633
  - !ruby/object:Gem::Dependency
634
634
  name: decidim-dev
635
635
  requirement: !ruby/object:Gem::Requirement
636
636
  requirements:
637
- - - '='
637
+ - - "~>"
638
638
  - !ruby/object:Gem::Version
639
- version: 0.12.2
639
+ version: 0.13.a
640
640
  type: :development
641
641
  prerelease: false
642
642
  version_requirements: !ruby/object:Gem::Requirement
643
643
  requirements:
644
- - - '='
644
+ - - "~>"
645
645
  - !ruby/object:Gem::Version
646
- version: 0.12.2
646
+ version: 0.13.a
647
647
  description: Adds core features so other engines can hook into the framework.
648
648
  email:
649
649
  - josepjaume@gmail.com
@@ -798,6 +798,7 @@ files:
798
798
  - app/cells/decidim/card/show.erb
799
799
  - app/cells/decidim/card_cell.rb
800
800
  - app/cells/decidim/card_m/author.erb
801
+ - app/cells/decidim/card_m/authors.erb
801
802
  - app/cells/decidim/card_m/badge.erb
802
803
  - app/cells/decidim/card_m/comments_counter.erb
803
804
  - app/cells/decidim/card_m/data.erb
@@ -809,6 +810,8 @@ files:
809
810
  - app/cells/decidim/card_m/status.erb
810
811
  - app/cells/decidim/card_m/tags.erb
811
812
  - app/cells/decidim/card_m_cell.rb
813
+ - app/cells/decidim/collapsible_authors/show.erb
814
+ - app/cells/decidim/collapsible_authors_cell.rb
812
815
  - app/cells/decidim/collapsible_list/show.erb
813
816
  - app/cells/decidim/collapsible_list_cell.rb
814
817
  - app/cells/decidim/fingerprint/show.erb
@@ -819,6 +822,9 @@ files:
819
822
  - app/cells/decidim/followers_cell.rb
820
823
  - app/cells/decidim/following/show.erb
821
824
  - app/cells/decidim/following_cell.rb
825
+ - app/cells/decidim/invitations_toggle/content.erb
826
+ - app/cells/decidim/invitations_toggle/label.erb
827
+ - app/cells/decidim/invitations_toggle_cell.rb
822
828
  - app/cells/decidim/notifications/show.erb
823
829
  - app/cells/decidim/notifications_cell.rb
824
830
  - app/cells/decidim/progress_bar/show.erb
@@ -827,6 +833,8 @@ files:
827
833
  - app/cells/decidim/tags/scope.erb
828
834
  - app/cells/decidim/tags/show.erb
829
835
  - app/cells/decidim/tags_cell.rb
836
+ - app/cells/decidim/toggle/show.erb
837
+ - app/cells/decidim/toggle_cell.rb
830
838
  - app/cells/decidim/tos_page/announcement.erb
831
839
  - app/cells/decidim/tos_page/refuse_btn_modal.erb
832
840
  - app/cells/decidim/tos_page/sticky_form.erb
@@ -840,6 +848,7 @@ files:
840
848
  - app/commands/decidim/create_report.rb
841
849
  - app/commands/decidim/delete_follow.rb
842
850
  - app/commands/decidim/destroy_account.rb
851
+ - app/commands/decidim/invite_friends.rb
843
852
  - app/commands/decidim/invite_user.rb
844
853
  - app/commands/decidim/invite_user_again.rb
845
854
  - app/commands/decidim/messaging/reply_to_conversation.rb
@@ -868,6 +877,7 @@ files:
868
877
  - app/controllers/decidim/application_controller.rb
869
878
  - app/controllers/decidim/components/base_controller.rb
870
879
  - app/controllers/decidim/cookie_policy_controller.rb
880
+ - app/controllers/decidim/data_portability_controller.rb
871
881
  - app/controllers/decidim/devise/confirmations_controller.rb
872
882
  - app/controllers/decidim/devise/invitations_controller.rb
873
883
  - app/controllers/decidim/devise/omniauth_registrations_controller.rb
@@ -880,9 +890,11 @@ files:
880
890
  - app/controllers/decidim/doorkeeper/tokens_controller.rb
881
891
  - app/controllers/decidim/errors_controller.rb
882
892
  - app/controllers/decidim/follows_controller.rb
893
+ - app/controllers/decidim/invitations_controller.rb
883
894
  - app/controllers/decidim/locales_controller.rb
884
895
  - app/controllers/decidim/messaging/conversations_controller.rb
885
896
  - app/controllers/decidim/newsletters_controller.rb
897
+ - app/controllers/decidim/newsletters_opt_in_controller.rb
886
898
  - app/controllers/decidim/notifications_controller.rb
887
899
  - app/controllers/decidim/notifications_settings_controller.rb
888
900
  - app/controllers/decidim/own_user_groups_controller.rb
@@ -900,6 +912,7 @@ files:
900
912
  - app/forms/decidim/delete_account_form.rb
901
913
  - app/forms/decidim/follow_form.rb
902
914
  - app/forms/decidim/form.rb
915
+ - app/forms/decidim/invitations_form.rb
903
916
  - app/forms/decidim/invite_user_form.rb
904
917
  - app/forms/decidim/messaging/conversation_form.rb
905
918
  - app/forms/decidim/messaging/message_form.rb
@@ -914,6 +927,7 @@ files:
914
927
  - app/helpers/decidim/attachments_helper.rb
915
928
  - app/helpers/decidim/authorization_form_helper.rb
916
929
  - app/helpers/decidim/card_helper.rb
930
+ - app/helpers/decidim/cells_helper.rb
917
931
  - app/helpers/decidim/cells_paginate_helper.rb
918
932
  - app/helpers/decidim/component_path_helper.rb
919
933
  - app/helpers/decidim/cookies_helper.rb
@@ -947,8 +961,10 @@ files:
947
961
  - app/helpers/decidim/view_hooks_helper.rb
948
962
  - app/helpers/decidim/widget_urls_helper.rb
949
963
  - app/jobs/decidim/application_job.rb
964
+ - app/jobs/decidim/data_portability_export_job.rb
950
965
  - app/jobs/decidim/email_notification_generator_job.rb
951
966
  - app/jobs/decidim/export_job.rb
967
+ - app/jobs/decidim/newsletters_opt_in_job.rb
952
968
  - app/jobs/decidim/notification_generator_for_recipient_job.rb
953
969
  - app/jobs/decidim/notification_generator_job.rb
954
970
  - app/mailers/concerns/decidim/localised_mailer.rb
@@ -957,6 +973,7 @@ files:
957
973
  - app/mailers/decidim/export_mailer.rb
958
974
  - app/mailers/decidim/messaging/conversation_mailer.rb
959
975
  - app/mailers/decidim/newsletter_mailer.rb
976
+ - app/mailers/decidim/newsletters_opt_in_mailer.rb
960
977
  - app/mailers/decidim/notification_mailer.rb
961
978
  - app/mailers/decidim/reported_mailer.rb
962
979
  - app/middleware/decidim/current_organization.rb
@@ -969,6 +986,7 @@ files:
969
986
  - app/models/decidim/authorization.rb
970
987
  - app/models/decidim/categorization.rb
971
988
  - app/models/decidim/category.rb
989
+ - app/models/decidim/coauthorship.rb
972
990
  - app/models/decidim/component.rb
973
991
  - app/models/decidim/follow.rb
974
992
  - app/models/decidim/identity.rb
@@ -1070,6 +1088,7 @@ files:
1070
1088
  - app/uploaders/decidim/attachment_uploader.rb
1071
1089
  - app/uploaders/decidim/avatar_uploader.rb
1072
1090
  - app/uploaders/decidim/banner_image_uploader.rb
1091
+ - app/uploaders/decidim/data_portability_uploader.rb
1073
1092
  - app/uploaders/decidim/hero_image_uploader.rb
1074
1093
  - app/uploaders/decidim/homepage_image_uploader.rb
1075
1094
  - app/uploaders/decidim/image_uploader.rb
@@ -1090,6 +1109,8 @@ files:
1090
1109
  - app/views/decidim/application/_documents.html.erb
1091
1110
  - app/views/decidim/application/_photos.html.erb
1092
1111
  - app/views/decidim/cookie_policy/accept.js.erb
1112
+ - app/views/decidim/data_portability/export.html.erb
1113
+ - app/views/decidim/data_portability/show.html.erb
1093
1114
  - app/views/decidim/devise/confirmations/new.html.erb
1094
1115
  - app/views/decidim/devise/invitations/edit.html.erb
1095
1116
  - app/views/decidim/devise/omniauth_registrations/new.html.erb
@@ -1105,8 +1126,10 @@ files:
1105
1126
  - app/views/decidim/doorkeeper/authorizations/new.html.erb
1106
1127
  - app/views/decidim/errors/internal_server_error.html.erb
1107
1128
  - app/views/decidim/errors/not_found.html.erb
1129
+ - app/views/decidim/export_mailer/data_portability_export.html.erb
1108
1130
  - app/views/decidim/export_mailer/export.html.erb
1109
1131
  - app/views/decidim/follows/update_button.js.erb
1132
+ - app/views/decidim/invitations/index.html.erb
1110
1133
  - app/views/decidim/messaging/conversation_mailer/new_conversation.html.erb
1111
1134
  - app/views/decidim/messaging/conversation_mailer/new_message.html.erb
1112
1135
  - app/views/decidim/messaging/conversations/_message.html.erb
@@ -1121,6 +1144,7 @@ files:
1121
1144
  - app/views/decidim/newsletter_mailer/newsletter.html.erb
1122
1145
  - app/views/decidim/newsletters/show.html.erb
1123
1146
  - app/views/decidim/newsletters/unsubscribe.html.erb
1147
+ - app/views/decidim/newsletters_opt_in_mailer/notify.html.erb
1124
1148
  - app/views/decidim/notification_mailer/event_received.html.erb
1125
1149
  - app/views/decidim/notifications_settings/show.html.erb
1126
1150
  - app/views/decidim/own_user_groups/index.html.erb
@@ -1176,6 +1200,8 @@ files:
1176
1200
  - app/views/devise/mailer/invite_admin.text.erb
1177
1201
  - app/views/devise/mailer/invite_collaborator.html.erb
1178
1202
  - app/views/devise/mailer/invite_collaborator.text.erb
1203
+ - app/views/devise/mailer/invite_friend.html.erb
1204
+ - app/views/devise/mailer/invite_friend.text.erb
1179
1205
  - app/views/devise/mailer/invite_private_user.html.erb
1180
1206
  - app/views/devise/mailer/invite_private_user.text.erb
1181
1207
  - app/views/devise/mailer/organization_admin_invitation_instructions.html.erb
@@ -1325,8 +1351,10 @@ files:
1325
1351
  - db/migrate/20180308113207_doorkeeper_models.rb
1326
1352
  - db/migrate/20180314085339_rename_maximum_votes_per_proposal_to_threshold_per_proposal.rb
1327
1353
  - db/migrate/20180323102631_change_event_name_and_class_to_rename_to_publish_proposal_event.rb
1354
+ - db/migrate/20180427141253_create_coauthorships.rb
1328
1355
  - db/migrate/20180508111640_add_tos_version_to_organization.rb
1329
1356
  - db/migrate/20180508111710_add_accepted_tos_version_field_to_users.rb
1357
+ - db/migrate/20180611121852_change_newsletter_notification_type_value.rb
1330
1358
  - db/migrate/20180613080638_rename_missing_features_to_components.rb
1331
1359
  - db/seeds.rb
1332
1360
  - db/seeds/homepage_image.jpg
@@ -1341,6 +1369,7 @@ files:
1341
1369
  - lib/decidim/attributes/time_with_zone.rb
1342
1370
  - lib/decidim/authorable.rb
1343
1371
  - lib/decidim/authorization_form_builder.rb
1372
+ - lib/decidim/coauthorable.rb
1344
1373
  - lib/decidim/component_manifest.rb
1345
1374
  - lib/decidim/component_validator.rb
1346
1375
  - lib/decidim/components.rb
@@ -1363,6 +1392,8 @@ files:
1363
1392
  - lib/decidim/core/test/shared_examples/authorable.rb
1364
1393
  - lib/decidim/core/test/shared_examples/authorable_interface_examples.rb
1365
1394
  - lib/decidim/core/test/shared_examples/categorizable_interface_examples.rb
1395
+ - lib/decidim/core/test/shared_examples/coauthorable.rb
1396
+ - lib/decidim/core/test/shared_examples/coauthorable_interface_examples.rb
1366
1397
  - lib/decidim/core/test/shared_examples/comments_examples.rb
1367
1398
  - lib/decidim/core/test/shared_examples/component_type.rb
1368
1399
  - lib/decidim/core/test/shared_examples/errors.rb
@@ -1386,10 +1417,23 @@ files:
1386
1417
  - lib/decidim/core/test/shared_examples/simple_event.rb
1387
1418
  - lib/decidim/core/test/shared_examples/user_localised_email_examples.rb
1388
1419
  - lib/decidim/core/version.rb
1420
+ - lib/decidim/data_portability.rb
1421
+ - lib/decidim/data_portability_file_reader.rb
1422
+ - lib/decidim/data_portability_file_zipper.rb
1423
+ - lib/decidim/data_portability_serializers.rb
1424
+ - lib/decidim/data_portability_serializers/data_portability_conversation_serializer.rb
1425
+ - lib/decidim/data_portability_serializers/data_portability_follow_serializer.rb
1426
+ - lib/decidim/data_portability_serializers/data_portability_identity_serializer.rb
1427
+ - lib/decidim/data_portability_serializers/data_portability_notification_serializer.rb
1428
+ - lib/decidim/data_portability_serializers/data_portability_participatory_space_private_user_serializer.rb
1429
+ - lib/decidim/data_portability_serializers/data_portability_report_serializer.rb
1430
+ - lib/decidim/data_portability_serializers/data_portability_user_group_serializer.rb
1431
+ - lib/decidim/data_portability_serializers/data_portability_user_serializer.rb
1389
1432
  - lib/decidim/engine_router.rb
1390
1433
  - lib/decidim/events.rb
1391
1434
  - lib/decidim/events/author_event.rb
1392
1435
  - lib/decidim/events/base_event.rb
1436
+ - lib/decidim/events/coauthor_event.rb
1393
1437
  - lib/decidim/events/email_event.rb
1394
1438
  - lib/decidim/events/notification_event.rb
1395
1439
  - lib/decidim/events/simple_event.rb
@@ -1443,6 +1487,7 @@ files:
1443
1487
  - lib/decidim/translatable_attributes.rb
1444
1488
  - lib/decidim/view_hooks.rb
1445
1489
  - lib/decidim/view_model.rb
1490
+ - lib/devise/models/decidim_newsletterable.rb
1446
1491
  - lib/devise/models/decidim_validatable.rb
1447
1492
  - lib/tasks/decidim_tasks.rake
1448
1493
  - vendor/assets/javascripts/appendAround.js
@@ -1495,9 +1540,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1495
1540
  version: '0'
1496
1541
  required_rubygems_version: !ruby/object:Gem::Requirement
1497
1542
  requirements:
1498
- - - ">="
1543
+ - - ">"
1499
1544
  - !ruby/object:Gem::Version
1500
- version: '0'
1545
+ version: 1.3.1
1501
1546
  requirements: []
1502
1547
  rubyforge_project:
1503
1548
  rubygems_version: 2.7.6