openproject-meeting 3.0.0

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 (67) hide show
  1. checksums.yaml +15 -0
  2. data/CHANGELOG.md +46 -0
  3. data/README.md +82 -0
  4. data/app/assets/images/meeting/agenda.png +0 -0
  5. data/app/assets/images/meeting/meeting.png +0 -0
  6. data/app/assets/images/meeting/minutes.png +0 -0
  7. data/app/assets/stylesheets/meeting/meeting.css.erb +39 -0
  8. data/app/controllers/meeting_agendas_controller.rb +33 -0
  9. data/app/controllers/meeting_contents_controller.rb +95 -0
  10. data/app/controllers/meeting_minutes_controller.rb +22 -0
  11. data/app/controllers/meetings_controller.rb +150 -0
  12. data/app/helpers/meeting_contents_helper.rb +68 -0
  13. data/app/helpers/meetings_helper.rb +16 -0
  14. data/app/mailers/meeting_mailer.rb +28 -0
  15. data/app/models/meeting.rb +163 -0
  16. data/app/models/meeting_agenda.rb +95 -0
  17. data/app/models/meeting_content.rb +67 -0
  18. data/app/models/meeting_minutes.rb +81 -0
  19. data/app/models/meeting_participant.rb +45 -0
  20. data/app/views/hooks/_activity_index_head.html.erb +13 -0
  21. data/app/views/meeting_contents/_form.html.erb +33 -0
  22. data/app/views/meeting_contents/_show.html.erb +40 -0
  23. data/app/views/meeting_contents/diff.html.erb +33 -0
  24. data/app/views/meeting_contents/history.html.erb +49 -0
  25. data/app/views/meeting_contents/show.html.erb +13 -0
  26. data/app/views/meeting_mailer/content_for_review.html.erb +23 -0
  27. data/app/views/meeting_mailer/content_for_review.text.erb +9 -0
  28. data/app/views/meetings/_form.html.erb +61 -0
  29. data/app/views/meetings/edit.html.erb +17 -0
  30. data/app/views/meetings/index.html.erb +51 -0
  31. data/app/views/meetings/new.html.erb +17 -0
  32. data/app/views/meetings/show.html.erb +48 -0
  33. data/app/views/shared/_meeting_header.html.erb +3 -0
  34. data/config/locales/de.yml +47 -0
  35. data/config/locales/en.yml +47 -0
  36. data/config/routes.rb +53 -0
  37. data/db/migrate/20110106210555_create_meetings.rb +29 -0
  38. data/db/migrate/20110106221214_create_meeting_contents.rb +29 -0
  39. data/db/migrate/20110106221946_create_meeting_content_versions.rb +20 -0
  40. data/db/migrate/20110108230721_create_meeting_participants.rb +30 -0
  41. data/db/migrate/20110224180804_add_lock_to_meeting_content.rb +24 -0
  42. data/db/migrate/20110819162852_create_initial_meeting_journals.rb +49 -0
  43. data/db/migrate/20111605171815_merge_meeting_content_versions_with_journals.rb +65 -0
  44. data/db/migrate/20130731151542_remove_meeting_role_id_from_meeting_participants.rb +20 -0
  45. data/lib/open_project/meeting.rb +16 -0
  46. data/lib/open_project/meeting/engine.rb +101 -0
  47. data/lib/open_project/meeting/hooks.rb +17 -0
  48. data/lib/open_project/meeting/patches/project_patch.rb +24 -0
  49. data/lib/open_project/meeting/version.rb +16 -0
  50. data/lib/openproject-meeting.rb +12 -0
  51. data/spec/controllers/meetings_controller_spec.rb +90 -0
  52. data/spec/factories/meeting_agenda_factory.rb +16 -0
  53. data/spec/factories/meeting_agenda_journal_factory.rb +18 -0
  54. data/spec/factories/meeting_factory.rb +18 -0
  55. data/spec/factories/meeting_minutes_factory.rb +16 -0
  56. data/spec/factories/meeting_minutes_journal_factory.rb +18 -0
  57. data/spec/factories/meeting_participant_factory.rb +17 -0
  58. data/spec/mailers/meeting_mailer_spec.rb +101 -0
  59. data/spec/models/meeting_agenda_journal_spec.rb +21 -0
  60. data/spec/models/meeting_agenda_spec.rb +52 -0
  61. data/spec/models/meeting_minutes_journal_spec.rb +21 -0
  62. data/spec/models/meeting_minutes_spec.rb +44 -0
  63. data/spec/models/meeting_spec.rb +168 -0
  64. data/spec/models/user_deletion_spec.rb +186 -0
  65. data/spec/spec_helper.rb +14 -0
  66. data/spec/support/plugin_spec_helper.rb +47 -0
  67. metadata +158 -0
@@ -0,0 +1,14 @@
1
+ #-- copyright
2
+ # OpenProject is a project management system.
3
+ #
4
+ # Copyright (C) 2012-2013 the OpenProject Team
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the GNU General Public License version 3.
8
+ #
9
+ # See doc/COPYRIGHT.rdoc for more details.
10
+ #++
11
+
12
+ # -- load spec_helper from OpenProject core
13
+ require "spec_helper"
14
+ require File.dirname(__FILE__) + '/support/plugin_spec_helper'
@@ -0,0 +1,47 @@
1
+ #-- copyright
2
+ # OpenProject is a project management system.
3
+ #
4
+ # Copyright (C) 2012-2013 the OpenProject Team
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the GNU General Public License version 3.
8
+ #
9
+ # See doc/COPYRIGHT.rdoc for more details.
10
+ #++
11
+
12
+ module PluginSpecHelper
13
+ shared_examples_for "customized journal class" do
14
+ describe :save do
15
+ let(:text) { "Lorem ipsum" }
16
+ let(:changed_data) { { "text" => [text] } }
17
+
18
+ describe "WITHOUT compression" do
19
+ before do
20
+ journal.changed_data = changed_data
21
+ journal.save!
22
+
23
+ journal.reload
24
+ end
25
+
26
+ it { journal.changed_data["data"].should == text }
27
+ it { journal.changed_data["compression"].should be_blank }
28
+ end
29
+
30
+ describe "WITH gzip compression" do
31
+ before do
32
+ Setting.stub(:wiki_compression).and_return("gzip")
33
+
34
+ journal.changed_data = changed_data
35
+ journal.save!
36
+
37
+ journal.reload
38
+ end
39
+
40
+ it { journal.changed_data["data"].should == Zlib::Deflate.deflate(text, Zlib::BEST_COMPRESSION) }
41
+ it { journal.changed_data["compression"].should == Setting.wiki_compression }
42
+ end
43
+ end
44
+
45
+ end
46
+
47
+ end
metadata ADDED
@@ -0,0 +1,158 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: openproject-meeting
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Finn GmbH
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-08-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ~>
17
+ - !ruby/object:Gem::Version
18
+ version: 3.2.9
19
+ type: :runtime
20
+ prerelease: false
21
+ name: rails
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.9
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '4.0'
33
+ type: :development
34
+ prerelease: false
35
+ name: factory_girl_rails
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '4.0'
41
+ description: ! "This plugin adds functions to support project meetings to OpenProject.
42
+ Meetings\n can be scheduled selecting invitees from the same project to take
43
+ part in the meeting. An agenda\n can be created and sent to the invitees. After
44
+ the meeting, attendants can be selected and\n minutes can be created based on
45
+ the agenda. Finally, the minutes can be sent to all attendants\n and invitees."
46
+ email: info@finn.de
47
+ executables: []
48
+ extensions: []
49
+ extra_rdoc_files: []
50
+ files:
51
+ - app/assets/images/meeting/agenda.png
52
+ - app/assets/images/meeting/meeting.png
53
+ - app/assets/images/meeting/minutes.png
54
+ - app/assets/stylesheets/meeting/meeting.css.erb
55
+ - app/controllers/meeting_agendas_controller.rb
56
+ - app/controllers/meeting_contents_controller.rb
57
+ - app/controllers/meeting_minutes_controller.rb
58
+ - app/controllers/meetings_controller.rb
59
+ - app/helpers/meeting_contents_helper.rb
60
+ - app/helpers/meetings_helper.rb
61
+ - app/mailers/meeting_mailer.rb
62
+ - app/models/meeting.rb
63
+ - app/models/meeting_agenda.rb
64
+ - app/models/meeting_content.rb
65
+ - app/models/meeting_minutes.rb
66
+ - app/models/meeting_participant.rb
67
+ - app/views/hooks/_activity_index_head.html.erb
68
+ - app/views/meeting_contents/_form.html.erb
69
+ - app/views/meeting_contents/_show.html.erb
70
+ - app/views/meeting_contents/diff.html.erb
71
+ - app/views/meeting_contents/history.html.erb
72
+ - app/views/meeting_contents/show.html.erb
73
+ - app/views/meeting_mailer/content_for_review.html.erb
74
+ - app/views/meeting_mailer/content_for_review.text.erb
75
+ - app/views/meetings/_form.html.erb
76
+ - app/views/meetings/edit.html.erb
77
+ - app/views/meetings/index.html.erb
78
+ - app/views/meetings/new.html.erb
79
+ - app/views/meetings/show.html.erb
80
+ - app/views/shared/_meeting_header.html.erb
81
+ - config/locales/de.yml
82
+ - config/locales/en.yml
83
+ - config/routes.rb
84
+ - db/migrate/20110106210555_create_meetings.rb
85
+ - db/migrate/20110106221214_create_meeting_contents.rb
86
+ - db/migrate/20110106221946_create_meeting_content_versions.rb
87
+ - db/migrate/20110108230721_create_meeting_participants.rb
88
+ - db/migrate/20110224180804_add_lock_to_meeting_content.rb
89
+ - db/migrate/20110819162852_create_initial_meeting_journals.rb
90
+ - db/migrate/20111605171815_merge_meeting_content_versions_with_journals.rb
91
+ - db/migrate/20130731151542_remove_meeting_role_id_from_meeting_participants.rb
92
+ - lib/open_project/meeting/engine.rb
93
+ - lib/open_project/meeting/hooks.rb
94
+ - lib/open_project/meeting/patches/project_patch.rb
95
+ - lib/open_project/meeting/version.rb
96
+ - lib/open_project/meeting.rb
97
+ - lib/openproject-meeting.rb
98
+ - CHANGELOG.md
99
+ - README.md
100
+ - spec/controllers/meetings_controller_spec.rb
101
+ - spec/factories/meeting_agenda_factory.rb
102
+ - spec/factories/meeting_agenda_journal_factory.rb
103
+ - spec/factories/meeting_factory.rb
104
+ - spec/factories/meeting_minutes_factory.rb
105
+ - spec/factories/meeting_minutes_journal_factory.rb
106
+ - spec/factories/meeting_participant_factory.rb
107
+ - spec/mailers/meeting_mailer_spec.rb
108
+ - spec/models/meeting_agenda_journal_spec.rb
109
+ - spec/models/meeting_agenda_spec.rb
110
+ - spec/models/meeting_minutes_journal_spec.rb
111
+ - spec/models/meeting_minutes_spec.rb
112
+ - spec/models/meeting_spec.rb
113
+ - spec/models/user_deletion_spec.rb
114
+ - spec/spec_helper.rb
115
+ - spec/support/plugin_spec_helper.rb
116
+ homepage: https://www.openproject.org/projects/plugin-meetings
117
+ licenses:
118
+ - GPLv3
119
+ metadata: {}
120
+ post_install_message:
121
+ rdoc_options: []
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ requirements: []
135
+ rubyforge_project:
136
+ rubygems_version: 2.0.6
137
+ signing_key:
138
+ specification_version: 4
139
+ summary: This OpenProject plugin adds a meeting module with functionality to plan
140
+ an agenda and save the minutes of a meeting.
141
+ test_files:
142
+ - spec/controllers/meetings_controller_spec.rb
143
+ - spec/factories/meeting_agenda_factory.rb
144
+ - spec/factories/meeting_agenda_journal_factory.rb
145
+ - spec/factories/meeting_factory.rb
146
+ - spec/factories/meeting_minutes_factory.rb
147
+ - spec/factories/meeting_minutes_journal_factory.rb
148
+ - spec/factories/meeting_participant_factory.rb
149
+ - spec/mailers/meeting_mailer_spec.rb
150
+ - spec/models/meeting_agenda_journal_spec.rb
151
+ - spec/models/meeting_agenda_spec.rb
152
+ - spec/models/meeting_minutes_journal_spec.rb
153
+ - spec/models/meeting_minutes_spec.rb
154
+ - spec/models/meeting_spec.rb
155
+ - spec/models/user_deletion_spec.rb
156
+ - spec/spec_helper.rb
157
+ - spec/support/plugin_spec_helper.rb
158
+ has_rdoc: