fine_print 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +74 -45
  3. data/Rakefile +9 -9
  4. data/app/assets/javascripts/application.js~ +16 -0
  5. data/app/assets/javascripts/fine_print/application.js +8 -2
  6. data/app/controllers/fine_print/application_controller.rb +9 -7
  7. data/app/controllers/fine_print/application_controller.rb~ +9 -7
  8. data/app/controllers/fine_print/contracts_controller.rb +79 -0
  9. data/app/controllers/fine_print/contracts_controller.rb~ +79 -0
  10. data/app/controllers/fine_print/home_controller.rb +1 -11
  11. data/app/controllers/fine_print/home_controller.rb~ +2 -11
  12. data/app/controllers/fine_print/signatures_controller.rb +14 -0
  13. data/app/controllers/fine_print/signatures_controller.rb~ +14 -0
  14. data/app/helpers/fine_print/application_helper.rb +7 -0
  15. data/app/helpers/fine_print/application_helper.rb~ +7 -0
  16. data/app/helpers/fine_print/contracts_helper.rb~ +7 -0
  17. data/app/models/fine_print/contract.rb +96 -0
  18. data/app/models/fine_print/contract.rb~ +100 -0
  19. data/app/models/fine_print/signature.rb +25 -0
  20. data/app/models/fine_print/signature.rb~ +25 -0
  21. data/app/views/fine_print/contracts/_form.html.erb +35 -0
  22. data/app/views/fine_print/contracts/_form.html.erb~ +35 -0
  23. data/app/views/fine_print/contracts/edit.html.erb +10 -0
  24. data/app/views/fine_print/contracts/index.html.erb +43 -0
  25. data/app/views/fine_print/contracts/index.html.erb~ +43 -0
  26. data/app/views/fine_print/contracts/new.html.erb +9 -0
  27. data/app/views/fine_print/contracts/new_version.html.erb +9 -0
  28. data/app/views/fine_print/contracts/show.html.erb +33 -0
  29. data/app/views/fine_print/contracts/show.html.erb~ +35 -0
  30. data/app/views/fine_print/home/index.html.erb +15 -6
  31. data/app/views/fine_print/home/index.html.erb~ +12 -4
  32. data/app/views/fine_print/signatures/index.html.erb +36 -0
  33. data/app/views/fine_print/signatures/index.html.erb~ +32 -0
  34. data/app/views/layouts/fine_print/application.html.erb +6 -0
  35. data/app/views/layouts/fine_print/application.html.erb~ +20 -0
  36. data/config/initializers/fine_print.rb +27 -44
  37. data/config/initializers/fine_print.rb~ +23 -40
  38. data/config/routes.rb +9 -3
  39. data/config/routes.rb~ +9 -4
  40. data/db/migrate/0_install_fine_print.rb +26 -0
  41. data/db/migrate/0_install_fine_print.rb~ +26 -0
  42. data/lib/fine_print/controller_additions.rb +69 -0
  43. data/lib/fine_print/controller_additions.rb~ +69 -0
  44. data/lib/fine_print/engine.rb +8 -0
  45. data/lib/fine_print/security_transgression.rb +1 -2
  46. data/lib/fine_print/utilities.rb~ +26 -0
  47. data/lib/fine_print/version.rb +1 -1
  48. data/lib/fine_print.rb +89 -42
  49. data/lib/fine_print.rb~ +89 -41
  50. data/lib/tasks/fine_print_tasks.rake +11 -8
  51. data/spec/controllers/contracts_controller_spec.rb +222 -0
  52. data/spec/controllers/contracts_controller_spec.rb~ +224 -0
  53. data/spec/controllers/home_controller_spec.rb +25 -0
  54. data/spec/controllers/home_controller_spec.rb~ +25 -0
  55. data/spec/controllers/signatures_controller_spec.rb +46 -0
  56. data/spec/controllers/signatures_controller_spec.rb~ +46 -0
  57. data/spec/dummy/README.md +1 -1
  58. data/spec/dummy/app/controllers/dummy_models_controller.rb +2 -0
  59. data/spec/dummy/app/controllers/dummy_models_controller.rb~ +29 -0
  60. data/spec/dummy/app/helpers/application_helper.rb +13 -0
  61. data/spec/dummy/app/models/dummy_user.rb +3 -0
  62. data/spec/dummy/app/models/dummy_user.rb~ +4 -0
  63. data/spec/dummy/app/models/user.rb~ +78 -0
  64. data/spec/dummy/config/application.rb +2 -2
  65. data/spec/dummy/config/application.rb~ +60 -0
  66. data/spec/dummy/config/initializers/fine_print.rb +36 -0
  67. data/spec/dummy/config/initializers/fine_print.rb~ +36 -0
  68. data/spec/dummy/config/initializers/session_store.rb +1 -1
  69. data/spec/dummy/config/initializers/session_store.rb~ +8 -0
  70. data/spec/dummy/config/initializers/wrap_parameters.rb +1 -1
  71. data/spec/dummy/config/initializers/wrap_parameters.rb~ +14 -0
  72. data/spec/dummy/config/routes.rb +1 -2
  73. data/spec/dummy/config/routes.rb~ +4 -0
  74. data/spec/dummy/db/development.sqlite3 +0 -0
  75. data/spec/dummy/db/migrate/1_create_dummy_users.rb +9 -0
  76. data/spec/dummy/db/migrate/1_create_dummy_users.rb~ +8 -0
  77. data/spec/dummy/db/schema.rb +20 -12
  78. data/spec/dummy/db/test.sqlite3 +0 -0
  79. data/spec/dummy/log/development.log +1635 -0
  80. data/spec/dummy/log/test.log +46188 -0
  81. data/spec/factories/contract.rb +25 -0
  82. data/spec/factories/contract.rb~ +26 -0
  83. data/spec/factories/dummy_user.rb +4 -0
  84. data/spec/factories/dummy_user.rb~ +6 -0
  85. data/spec/factories/signature.rb +6 -0
  86. data/spec/factories/signature.rb~ +8 -0
  87. data/spec/factories/user.rb~ +6 -0
  88. data/spec/fine_print_spec.rb~ +15 -4
  89. data/spec/lib/fine_print/controller_additions_spec.rb +20 -0
  90. data/spec/lib/fine_print/controller_additions_spec.rb~ +20 -0
  91. data/spec/lib/fine_print_spec.rb +47 -0
  92. data/spec/lib/fine_print_spec.rb~ +47 -0
  93. data/spec/models/contract_spec.rb +79 -0
  94. data/spec/models/contract_spec.rb~ +80 -0
  95. data/spec/models/signature_spec.rb +28 -0
  96. data/spec/models/signature_spec.rb~ +28 -0
  97. data/spec/spec_helper.rb +31 -0
  98. data/spec/spec_helper.rb~ +32 -0
  99. data/spec/test_helper.rb~ +15 -0
  100. metadata +153 -91
  101. data/app/assets/javascripts/fine_print/agreements.js +0 -19
  102. data/app/assets/javascripts/fine_print/agreements.js~ +0 -19
  103. data/app/assets/javascripts/fine_print/application.js~ +0 -5
  104. data/app/assets/javascripts/fine_print/dialog.js +0 -2
  105. data/app/assets/javascripts/fine_print/dialog.js~ +0 -2
  106. data/app/assets/javascripts/fine_print/user_agreements.js +0 -20
  107. data/app/assets/javascripts/fine_print/user_agreements.js~ +0 -20
  108. data/app/assets/stylesheets/fine_print/agreements.css +0 -11
  109. data/app/assets/stylesheets/fine_print/agreements.css~ +0 -11
  110. data/app/assets/stylesheets/fine_print/application.css~ +0 -60
  111. data/app/assets/stylesheets/fine_print/user_agreements.css~ +0 -3
  112. data/app/assets/stylesheets/scaffold.css~ +0 -56
  113. data/app/controllers/fine_print/agreements_controller.rb +0 -114
  114. data/app/controllers/fine_print/agreements_controller.rb~ +0 -113
  115. data/app/controllers/fine_print/user_agreements_controller.rb +0 -63
  116. data/app/controllers/fine_print/user_agreements_controller.rb~ +0 -63
  117. data/app/models/fine_print/agreement.rb +0 -50
  118. data/app/models/fine_print/agreement.rb~ +0 -50
  119. data/app/models/fine_print/user_agreement.rb +0 -19
  120. data/app/models/fine_print/user_agreement.rb~ +0 -21
  121. data/app/views/fine_print/agreements/_agreement.html.erb +0 -77
  122. data/app/views/fine_print/agreements/_agreement.html.erb~ +0 -77
  123. data/app/views/fine_print/agreements/_dialog.html.erb +0 -27
  124. data/app/views/fine_print/agreements/_dialog.html.erb~ +0 -27
  125. data/app/views/fine_print/agreements/_form.html.erb +0 -51
  126. data/app/views/fine_print/agreements/_form.html.erb~ +0 -51
  127. data/app/views/fine_print/agreements/edit.html.erb +0 -8
  128. data/app/views/fine_print/agreements/edit.html.erb~ +0 -8
  129. data/app/views/fine_print/agreements/index.html.erb +0 -32
  130. data/app/views/fine_print/agreements/index.html.erb~ +0 -32
  131. data/app/views/fine_print/agreements/new.html.erb +0 -7
  132. data/app/views/fine_print/agreements/new.html.erb~ +0 -7
  133. data/app/views/fine_print/agreements/new_version.html.erb +0 -7
  134. data/app/views/fine_print/agreements/new_version.html.erb~ +0 -7
  135. data/app/views/fine_print/agreements/show.html.erb +0 -15
  136. data/app/views/fine_print/agreements/show.html.erb~ +0 -14
  137. data/app/views/fine_print/user_agreements/cancel.js.erb +0 -1
  138. data/app/views/fine_print/user_agreements/cancel.js.erb~ +0 -2
  139. data/app/views/fine_print/user_agreements/create.js.erb +0 -2
  140. data/app/views/fine_print/user_agreements/create.js.erb~ +0 -2
  141. data/app/views/fine_print/user_agreements/index.html.erb +0 -25
  142. data/app/views/fine_print/user_agreements/index.html.erb~ +0 -25
  143. data/db/migrate/0_create_fine_print_agreements.rb~ +0 -22
  144. data/db/migrate/0_install.rb +0 -28
  145. data/db/migrate/0_install.rb~ +0 -28
  146. data/lib/fine_print/agreements_helper.rb +0 -13
  147. data/lib/fine_print/agreements_helper.rb~ +0 -11
  148. data/lib/fine_print/fine_print_agreement.rb +0 -26
  149. data/lib/fine_print/fine_print_agreement.rb~ +0 -26
  150. data/lib/fine_print/require_agreement.rb~ +0 -22
  151. data/lib/fine_print/security_transgression.rb~ +0 -3
  152. data/lib/fine_print/version.rb~ +0 -3
  153. data/lib/tasks/fine_print_tasks.rake~ +0 -42
  154. data/spec/dummy/README.md~ +0 -3
  155. data/spec/fine_print_spec.rb +0 -7
  156. data/spec/minitest_helper.rb +0 -12
@@ -1,27 +0,0 @@
1
- <% # Clients of this partial must supply the following variables:
2
- # agreements
3
- # user
4
- # notice
5
- #
6
- # Additionally, they can override the following variables:
7
- width ||= 640
8
- height ||= 480 %>
9
-
10
- <%= stylesheet_link_tag 'fine_print/application' %>
11
- <%= javascript_include_tag 'fine_print/dialog' %>
12
-
13
- <% agreements.each_with_index do |agreement, index| %>
14
- <div id="<%= "fine_print_dialog_#{index}" %>" title="<%= agreement.name %>" class="fine_print agreement dialog">
15
- <%= render :partial => 'fine_print/agreements/agreement', :locals => {
16
- :agreement => agreement,
17
- :index => index,
18
- :user => user,
19
- :notice => notice,
20
- :remote => true } %>
21
- </div>
22
-
23
- <script>
24
- fine_print_init_dialog(<%= index %>, width, height);
25
- </script>
26
- <% end %>
27
-
@@ -1,51 +0,0 @@
1
- <%= form_for(@agreement) do |f| %>
2
- <% if @agreement.errors.any? %>
3
- <div id="error_explanation" class="fine_print errors">
4
- <h2 class="fine_print heading"><%= pluralize(@agreement.errors.count, "error") %> prohibited this agreement from being saved:</h2>
5
-
6
- <ul>
7
- <% @agreement.errors.full_messages.each do |msg| %>
8
- <li><%= msg %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
13
-
14
- <div class="field">
15
- <%= f.label :name, :class => "fine_print label" %><br/>
16
- <%= f.text_field :name, :size => 40, :class => "fine_print text_field" %><br/>
17
- (e.g., "Terms of Use"; changing this will reset the version count)<br/><br/>
18
- </div>
19
- <div class="field">
20
- <%= f.label :content, :class => "fine_print label" %><br/>
21
- <%= f.text_area :content, :cols => 56, :class => "fine_print text_area" %><br/><br/>
22
- </div>
23
- <div class="field">
24
- <%= f.label :confirmation_text, :class => "fine_print label" %><br/>
25
- <%= f.text_field :confirmation_text, :size => 40, :class => "fine_print text_field" %><br/>
26
- (e.g., "I have read and agree to the terms and conditions above")<br/><br/>
27
- </div>
28
- <div class="field">
29
- <%= f.label :ready, "Display the agreement's name to users as a heading?", :class => "fine_print label" %>
30
- <%= f.check_box :display_name, :class => "fine_print checkbox" %><br/><br/>
31
- </div>
32
- <div class="field">
33
- <%= f.label :ready, "Display the agreement's version to users?", :class => "fine_print label" %>
34
- <%= f.check_box :display_version, :class => "fine_print checkbox" %><br/><br/>
35
- </div>
36
- <div class="field">
37
- <%= f.label :ready, "Display the agreement's last updated date to users?", :class => "fine_print label" %>
38
- <%= f.check_box :display_updated, :class => "fine_print checkbox" %><br/><br/>
39
- </div>
40
- <div class="field">
41
- <%= f.label :ready, "Display a confirmation checkbox that users have to click?", :class => "fine_print label" %>
42
- <%= f.check_box :display_confirmation, :class => "fine_print checkbox" %><br/><br/>
43
- </div>
44
- <div class="field">
45
- <%= f.label :ready, "Ready to be used?", :class => "fine_print label" %>
46
- <%= f.check_box :ready, :class => "fine_print checkbox" %><br/><br/>
47
- </div>
48
- <div class="actions">
49
- <%= f.submit nil, :class => "fine_print submit" %>
50
- </div>
51
- <% end %>
@@ -1,51 +0,0 @@
1
- <%= form_for(@agreement) do |f| %>
2
- <% if @agreement.errors.any? %>
3
- <div id="error_explanation" class="fine_print errors">
4
- <h2 class="fine_print heading"><%= pluralize(@agreement.errors.count, "error") %> prohibited this agreement from being saved:</h2>
5
-
6
- <ul>
7
- <% @agreement.errors.full_messages.each do |msg| %>
8
- <li><%= msg %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
13
-
14
- <div class="field">
15
- <%= f.label :name, :class => "fine_print label" %><br/>
16
- <%= f.text_field :name, :size => 40, :class => "fine_print text_field" %><br/>
17
- (e.g., "Terms of Use"; changing this will reset the version count)<br/><br/>
18
- </div>
19
- <div class="field">
20
- <%= f.label :content, :class => "fine_print label" %><br/>
21
- <%= f.text_area :content, :cols => 56, :class => "fine_print text_area" %><br/><br/>
22
- </div>
23
- <div class="field">
24
- <%= f.label :confirmation_text, :class => "fine_print label" %><br/>
25
- <%= f.text_field :confirmation_text, :size => 40, :class => "fine_print text_field" %><br/>
26
- (e.g., "I have read and agree to the terms and conditions above")<br/><br/>
27
- </div>
28
- <div class="field">
29
- <%= f.label :ready, "Display the agreement's name to users (as a heading)?", :class => "fine_print label" %>
30
- <%= f.check_box :display_name, :class => "fine_print checkbox" %><br/><br/>
31
- </div>
32
- <div class="field">
33
- <%= f.label :ready, "Display the agreement's version to users?", :class => "fine_print label" %>
34
- <%= f.check_box :display_version, :class => "fine_print checkbox" %><br/><br/>
35
- </div>
36
- <div class="field">
37
- <%= f.label :ready, "Display the agreement's last updated date to users?", :class => "fine_print label" %>
38
- <%= f.check_box :display_updated, :class => "fine_print checkbox" %><br/><br/>
39
- </div>
40
- <div class="field">
41
- <%= f.label :ready, "Display a confirmation checkbox that users have to click?", :class => "fine_print label" %>
42
- <%= f.check_box :display_confirmation, :class => "fine_print checkbox" %><br/><br/>
43
- </div>
44
- <div class="field">
45
- <%= f.label :ready, "Ready to be used?", :class => "fine_print label" %>
46
- <%= f.check_box :ready, :class => "fine_print checkbox" %><br/><br/>
47
- </div>
48
- <div class="actions">
49
- <%= f.submit nil, :class => "fine_print submit" %>
50
- </div>
51
- <% end %>
@@ -1,8 +0,0 @@
1
- <h1 class="fine_print heading">Editing agreement</h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <br/>
6
-
7
- <%= link_to 'Show', @agreement, :class => "fine_print link" %> |
8
- <%= link_to 'Back', agreements_path, :class => "fine_print link" %>
@@ -1,8 +0,0 @@
1
- <h1 class="fine_print heading">Editing agreement</h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <br/>
6
-
7
- <%= link_to 'Show', @agreement, :class => fine_print link" %> |
8
- <%= link_to 'Back', agreements_path, :class => fine_print link" %>
@@ -1,32 +0,0 @@
1
- <h1 class="fine_print heading">FinePrint agreements</h1>
2
-
3
- <table class="fine_print index">
4
- <tr>
5
- <th>Name</th>
6
- <th>Version</th>
7
- <th></th>
8
- <th></th>
9
- <th></th>
10
- </tr>
11
-
12
- <% @agreements.each do |agreement| %>
13
- <tr>
14
- <td><%= agreement.name %></td>
15
- <td><%= agreement.version %></td>
16
- <td><%= link_to 'Show', agreement, :class => "fine_print link" %></td>
17
- <td><% if agreement.can_be_edited_by?(@user) %>
18
- <%= link_to 'Edit', edit_agreement_path(agreement), :class => "fine_print link" %>
19
- <% else %>
20
- <%= link_to 'New version', agreement_new_version_path(agreement), :class => "fine_print link" %>
21
- <% end %></td>
22
- <td><% if agreement.can_be_destroyed_by?(@user) %>
23
- <%= link_to 'Delete', agreement, method: :delete, data: { confirm: 'Are you sure you wish to delete this agreement?' }, :class => "fine_print link" %>
24
- <% end %></td>
25
- </tr>
26
- <% end %>
27
- </table>
28
-
29
- <br />
30
-
31
- <%= link_to 'New Agreement', new_agreement_path, :class => "fine_print link" %> |
32
- <%= link_to 'Back', root_path, :class => "fine_print link" %>
@@ -1,32 +0,0 @@
1
- <h1 class="fine_print heading">FinePrint agreements</h1>
2
-
3
- <table class="fine_print index">
4
- <tr>
5
- <th>Name</th>
6
- <th>Version</th>
7
- <th></th>
8
- <th></th>
9
- <th></th>
10
- </tr>
11
-
12
- <% @agreements.each do |agreement| %>
13
- <tr>
14
- <td><%= agreement.name %></td>
15
- <td><%= agreement.version %></td>
16
- <td><%= link_to 'Show', agreement, :class => "fine_print link" %></td>
17
- <td><% if agreement.can_be_edited_by?(@user) %>
18
- <%= link_to 'Edit', edit_agreement_path(agreement), :class => "fine_print link" %>
19
- <% else %>
20
- <%= link_to 'New version', agreement_new_version_path(agreement), :class => "fine_print link" %>
21
- <% end %></td>
22
- <td><% if agreement.can_be_destroyed_by?(@user) %>
23
- <%= link_to 'Delete', agreement, method: :delete, data: { confirm: 'Are you sure?' }, :class => "fine_print link" %>
24
- <% end %></td>
25
- </tr>
26
- <% end %>
27
- </table>
28
-
29
- <br />
30
-
31
- <%= link_to 'New Agreement', new_agreement_path, :class => "fine_print link" %> |
32
- <%= link_to 'Back', root_path, :class => "fine_print link" %>
@@ -1,7 +0,0 @@
1
- <h1 class="fine_print heading">New agreement</h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <br/>
6
-
7
- <%= link_to 'Back', agreements_path, :class => "fine_print link" %>
@@ -1,7 +0,0 @@
1
- <h1 class="fine_print heading">New agreement</h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <br/>
6
-
7
- <%= link_to 'Back', agreements_path, :class => fine_print link" %>
@@ -1,7 +0,0 @@
1
- <h1 class="fine_print heading">New version of <%= @agreement.name %></h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <br/>
6
-
7
- <%= link_to 'Back', agreements_path, :class => "fine_print link" %>
@@ -1,7 +0,0 @@
1
- <h1 class="fine_print heading"><%= @agreement.name %> version <%= @agreement.version + 1 %></h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <br/>
6
-
7
- <%= link_to 'Back', agreements_path, :class => "fine_print link" %>
@@ -1,15 +0,0 @@
1
- <%= render :partial => 'agreement', :locals => {
2
- :agreement => @agreement,
3
- :user => @user,
4
- :notice => @notice,
5
- :accept_path => @accept_path,
6
- :cancel_path => @cancel_path,
7
- :url => @url,
8
- :ref => @ref } %>
9
-
10
- <br/>
11
-
12
- <% if @agreement.can_be_edited_by?(@user) %>
13
- <%= link_to 'Edit', edit_agreement_path(@agreement), :class => "fine_print link" %> |
14
- <%= link_to 'Back', agreements_path, :class => "fine_print link" %>
15
- <% end %>
@@ -1,14 +0,0 @@
1
- <%= render :partial => 'agreement', :locals => {
2
- :agreement => @agreement,
3
- :user => @user,
4
- :notice => @notice,
5
- :accept_path => @accept_path,
6
- :url => @url,
7
- :ref => @ref } %>
8
-
9
- <br/>
10
-
11
- <% if @agreement.can_be_edited_by?(@user) %>
12
- <%= link_to 'Edit', edit_agreement_path(@agreement), :class => "fine_print link" %> |
13
- <%= link_to 'Back', agreements_path, :class => "fine_print link" %>
14
- <% end %>
@@ -1 +0,0 @@
1
- window.history.back();
@@ -1,2 +0,0 @@
1
- $("<%= "#fine_print_dialog_#{@index}" %>").off("dialogbeforeclose").dialog("close");
2
- $("<%= "#fine_print_dialog_#{@index + 1}" %>").dialog("open");
@@ -1,2 +0,0 @@
1
- $("<%= "#fine_print_dialog_#{@index}" %>").off("dialogbeforeclose").dialog("close");
2
- $("<%= "#fine_print_dialog_#{@index + 1}" %>").dialog("open");
@@ -1,2 +0,0 @@
1
- $("<%= "#fine_print_dialog_#{@index}" %>").off("dialogbeforeclose").dialog("close");
2
- $("<%= "#fine_print_dialog_#{@next_index}" %>").dialog("open");
@@ -1,25 +0,0 @@
1
- <h1 class="fine_print heading">Accepted FinePrint agreements</h1>
2
-
3
- <table class="fine_print index">
4
- <tr>
5
- <th>User ID</th>
6
- <th>Agreement name</th>
7
- <th>Agreement version</th>
8
- <th>Date accepted</th>
9
- <th></th>
10
- </tr>
11
-
12
- <% @user_agreements.each do |user_agreement| %>
13
- <tr>
14
- <td><%= user_agreement.user.id %></td>
15
- <td><%= user_agreement.agreement.name %></td>
16
- <td><%= user_agreement.agreement.version %></td>
17
- <td><%= user_agreement.created_at %></td>
18
- <td><%= link_to 'Terminate', user_agreement, method: :delete, data: { confirm: 'User will be asked to accept the agreement again. Are you sure?' }, :class => "fine_print link" %></td>
19
- </tr>
20
- <% end %>
21
- </table>
22
-
23
- <br />
24
-
25
- <%= link_to 'Back', root_path, :class => "fine_print link" %>
@@ -1,25 +0,0 @@
1
- <h1 class="fine_print heading">Accepted FinePrint agreements</h1>
2
-
3
- <table class="fine_print index">
4
- <tr>
5
- <th>User ID</th>
6
- <th>Agreement name</th>
7
- <th>Agreement version</th>
8
- <th>Date accepted</th>
9
- <th></th>
10
- </tr>
11
-
12
- <% @user_agreements.each do |user_agreement| %>
13
- <tr>
14
- <td><%= user_agreement.user.id %></td>
15
- <td><%= user_agreement.agreement.name %></td>
16
- <td><%= user_agreement.agreement.version %></td>
17
- <td><%= user_agreement.created_at %></td>
18
- <td><%= link_to 'Terminate', user_agreement, method: :delete, data: { confirm: 'Are you sure? User will be asked to accept the agreement again.' }, :class => "fine_print link" %></td>
19
- </tr>
20
- <% end %>
21
- </table>
22
-
23
- <br />
24
-
25
- <%= link_to 'Back', root_path, :class => "fine_print link" %>
@@ -1,22 +0,0 @@
1
- class CreateFinePrintAgreements < ActiveRecord::Migration
2
- def change
3
- create_table :fine_print_agreements do |t|
4
- t.string :name
5
- t.text :content
6
- t.integer :version
7
-
8
- t.timestamps
9
- end
10
-
11
- create_table :fine_print_user_agreements do |t|
12
- t.integer :user_id
13
- t.integer :agreement_id
14
-
15
- t.timestamps
16
- end
17
-
18
- add_index :fine_print_agreements, [:name, :version]
19
- add_index :fine_print_user_agreements, [:user_id, :agreement_id]
20
- add_index :fine_print_user_agreements, :agreement_id
21
- end
22
- end
@@ -1,28 +0,0 @@
1
- class Install < ActiveRecord::Migration
2
- def change
3
- create_table :fine_print_agreements do |t|
4
- t.string :name, :null => false
5
- t.integer :version, :null => false
6
- t.text :content, :null => false
7
- t.string :confirmation_text, :default => 'I have read and agree to the terms and conditions above', :null => false
8
- t.boolean :display_name, :default => true
9
- t.boolean :display_version, :default => false
10
- t.boolean :display_updated, :default => false
11
- t.boolean :display_confirmation, :default => true
12
- t.boolean :ready, :default => false
13
-
14
- t.timestamps
15
- end
16
-
17
- create_table :fine_print_user_agreements do |t|
18
- t.integer :agreement_id, :null => false
19
- t.references :user, :polymorphic => true, :null => false
20
-
21
- t.timestamps
22
- end
23
-
24
- add_index :fine_print_agreements, [:name, :version]
25
- add_index :fine_print_user_agreements, :agreement_id
26
- add_index :fine_print_user_agreements, [:user_id, :user_type, :agreement_id], :name => 'index_fine_print_u_a_on_u_id_and_u_type_and_a_id'
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- class Install < ActiveRecord::Migration
2
- def change
3
- create_table :fine_print_agreements do |t|
4
- t.string :name, :null => false
5
- t.integer :version, :null => false
6
- t.text :content, :null => false
7
- t.string :confirmation_text, :default => 'I have read and agree to the terms and conditions above', :null => false
8
- t.boolean :display_name, :default => true
9
- t.boolean :display_version, :default => false
10
- t.boolean :display_updated, :default => false
11
- t.boolean :display_confirmation, :default => true
12
- t.boolean :ready, :default => false
13
-
14
- t.timestamps
15
- end
16
-
17
- create_table :fine_print_user_agreements do |t|
18
- t.integer :agreement_id, :null => false
19
- t.references :user, :polymorphic => true
20
-
21
- t.timestamps
22
- end
23
-
24
- add_index :fine_print_agreements, [:name, :version]
25
- add_index :fine_print_user_agreements, :agreement_id
26
- add_index :fine_print_user_agreements, [:user_id, :user_type, :agreement_id], :name => 'index_fine_print_u_a_on_u_id_and_u_type_and_a_id'
27
- end
28
- end
@@ -1,13 +0,0 @@
1
- module FinePrint
2
- module AgreementsHelper
3
- def fine_print_dialog(options = {})
4
- render :partial => 'fine_print/agreements/dialog',
5
- :locals => {:agreements => @fine_print_dialog_agreements,
6
- :user => @fine_print_user,
7
- :notice => @fine_print_dialog_notice,
8
- :width => options[:width],
9
- :height => options[:height]} \
10
- unless @fine_print_dialog_agreements.blank?
11
- end
12
- end
13
- end
@@ -1,11 +0,0 @@
1
- module FinePrint
2
- module AgreementsHelper
3
- def fine_print_dialog(options = {})
4
- render :partial => 'fine_print/agreements/dialog',
5
- :locals => {:agreements => @fine_print_dialog_agreements,
6
- :user => @fine_print_user,
7
- :notice => @fine_print_dialog_notice} \
8
- unless @fine_print_dialog_agreements.blank?
9
- end
10
- end
11
- end
@@ -1,26 +0,0 @@
1
- require 'fine_print/agreements_helper'
2
-
3
- module FinePrint
4
- module FinePrintAgreement
5
- def self.included(base)
6
- base.helper FinePrint::AgreementsHelper
7
- base.extend(ClassMethods)
8
- end
9
-
10
- module ClassMethods
11
- def fine_print_agreement(*args)
12
- options = args.last.is_a?(Hash) ? args.pop : {}
13
- class_eval do
14
- before_filter(options.except(*FinePrint::AGREEMENT_OPTIONS)) do |controller|
15
- FinePrint.require_agreements(controller, args, options.slice(*FinePrint::AGREEMENT_OPTIONS))
16
- end
17
- end
18
- end
19
-
20
- alias_method :fine_print_agreements, :fine_print_agreement
21
- end
22
- end
23
- end
24
-
25
- ActionController::Base.send :include, FinePrint::FinePrintAgreement
26
-
@@ -1,26 +0,0 @@
1
- require 'fine_print/agreements_helper'
2
-
3
- module FinePrint
4
- module FinePrintAgreement
5
- def self.included(base)
6
- base.helper FinePrint::AgreementHelper
7
- base.extend(ClassMethods)
8
- end
9
-
10
- module ClassMethods
11
- def fine_print_agreement(*args)
12
- options = args.last.is_a?(Hash) ? args.pop : {}
13
- class_eval do
14
- before_filter(options.except(*FinePrint::AGREEMENT_OPTIONS)) do |controller|
15
- FinePrint.require_agreements(controller, args, options.slice(*FinePrint::AGREEMENT_OPTIONS))
16
- end
17
- end
18
- end
19
-
20
- alias_method :fine_print_agreements, :fine_print_agreement
21
- end
22
- end
23
- end
24
-
25
- ActionController::Base.send :include, FinePrint::FinePrintAgreement
26
-
@@ -1,22 +0,0 @@
1
- module FinePrint
2
- module FinePrintAgreement
3
- def self.included(base)
4
- base.extend(ClassMethods)
5
- end
6
-
7
- module ClassMethods
8
- def fine_print_agreement(*args)
9
- options = args.last.is_a?(Hash) ? args.pop : {}
10
- class_eval do
11
- before_filter(options) { |c| FinePrint.require_agreements(c, args) }
12
- end
13
- end
14
-
15
- alias_method :fine_print, :fine_print_agreement
16
- alias_method :fine_print_agreements, :fine_print_agreement
17
- end
18
- end
19
- end
20
-
21
- ActionController::Base.send :include, FinePrint::RequireAgreement
22
-
@@ -1,3 +0,0 @@
1
- module FinePrint
2
- class SecurityTransgression < StandardError; end
3
- end
@@ -1,3 +0,0 @@
1
- module FinePrint
2
- VERSION = "0.1.0"
3
- end
@@ -1,42 +0,0 @@
1
- COPY_TASKS = ['assets/stylesheets', 'assets/javascripts', 'views/layouts', 'views', 'controllers']
2
-
3
- namespace :fine_print do
4
- namespace :install do
5
- desc "Copy initializers from fine_print to application"
6
- task :initializers do
7
- Dir.glob(File.expand_path('../../../config/initializers/*.rb', __FILE__)) do |file|
8
- if File.exists?(File.expand_path(File.basename(file), 'config/initializers'))
9
- print "NOTE: Initializer #{File.basename(file)} from fine_print has been skipped. Initializer with the same name already exists.\n"
10
- else
11
- cp file, 'config/initializers', :verbose => false
12
- print "Copied initializer #{File.basename(file)} from fine_print\n"
13
- end
14
- end
15
- end
16
- end
17
-
18
- namespace :copy do
19
- COPY_TASKS.each do |path|
20
- name = File.basename(path)
21
- desc "Copy #{name} from fine_print to application"
22
- task name.to_sym do
23
- cp_r File.expand_path("../../../app/#{path}/fine_print", __FILE__), "app/#{path}", :verbose => false
24
- print "Copied #{name} from fine_print\n"
25
- end
26
- end
27
- end
28
-
29
- desc "Copy migrations from fine_print to application"
30
- task :install do
31
- Rake::Task["fine_print:install:initializers"].invoke
32
- Rake::Task["fine_print:install:migrations"].invoke
33
- end
34
-
35
- desc "Copy assets, layouts, views, and controllers from fine_print to application"
36
- task :copy do
37
- COPY_TASKS.each do |path|
38
- Rake::Task["fine_print:copy:#{File.basename(path)}"].invoke
39
- end
40
- end
41
- end
42
-
@@ -1,3 +0,0 @@
1
- ## Dummy
2
-
3
- A dummy application used for testing the fine print engine.
@@ -1,7 +0,0 @@
1
- require 'minitest_helper'
2
-
3
- class FinePrintTest < ActiveSupport::TestCase
4
- test "truth" do
5
- assert_kind_of Module, FinePrint
6
- end
7
- end
@@ -1,12 +0,0 @@
1
- # Configure Rails Environment
2
- ENV["RAILS_ENV"] = "test"
3
-
4
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
-
6
- require "minitest/autorun"
7
- require "minitest/rails"
8
-
9
- require "minitest/rails/capybara"
10
-
11
- Rails.backtrace_cleaner.remove_silencers!
12
-