trusty-cms 3.1.11 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -14
  3. data/Gemfile.lock +84 -70
  4. data/README.md +4 -0
  5. data/app/assets/images/admin/add.png +0 -0
  6. data/app/assets/images/admin/archive_icon.png +0 -0
  7. data/app/assets/images/admin/audio_icon.png +0 -0
  8. data/app/assets/images/admin/audio_thumbnail.png +0 -0
  9. data/app/assets/images/admin/c_icon.png +0 -0
  10. data/app/assets/images/admin/copy.png +0 -0
  11. data/app/assets/images/admin/css_icon.png +0 -0
  12. data/app/assets/images/admin/database_icon.png +0 -0
  13. data/app/assets/images/admin/delete.png +0 -0
  14. data/app/assets/images/admin/document_icon.png +0 -0
  15. data/app/assets/images/admin/document_thumbnail.png +0 -0
  16. data/app/assets/images/admin/flash_icon.png +0 -0
  17. data/app/assets/images/admin/flash_thumbnail.png +0 -0
  18. data/app/assets/images/admin/font_icon.png +0 -0
  19. data/app/assets/images/admin/gzip_icon.png +0 -0
  20. data/app/assets/images/admin/html_icon.png +0 -0
  21. data/app/assets/images/admin/image_icon.png +0 -0
  22. data/app/assets/images/admin/image_thumbnail.png +0 -0
  23. data/app/assets/images/admin/java_icon.png +0 -0
  24. data/app/assets/images/admin/page_edit.png +0 -0
  25. data/app/assets/images/admin/pdf_icon.png +0 -0
  26. data/app/assets/images/admin/pdf_thumbnail.png +0 -0
  27. data/app/assets/images/admin/perl_icon.png +0 -0
  28. data/app/assets/images/admin/php_icon.png +0 -0
  29. data/app/assets/images/admin/presentation_icon.png +0 -0
  30. data/app/assets/images/admin/python_icon.png +0 -0
  31. data/app/assets/images/admin/reorder_assets.png +0 -0
  32. data/app/assets/images/admin/ruby_icon.png +0 -0
  33. data/app/assets/images/admin/script_icon.png +0 -0
  34. data/app/assets/images/admin/spinner.gif +0 -0
  35. data/app/assets/images/admin/spreadsheet_icon.png +0 -0
  36. data/app/assets/images/admin/tar_icon.png +0 -0
  37. data/app/assets/images/admin/unknown_icon.png +0 -0
  38. data/app/assets/images/admin/unknown_thumbnail.png +0 -0
  39. data/app/assets/images/admin/video_icon.png +0 -0
  40. data/app/assets/images/admin/video_thumbnail.png +0 -0
  41. data/app/assets/images/admin/xml_icon.png +0 -0
  42. data/app/assets/images/admin/zip_icon.png +0 -0
  43. data/app/assets/javascripts/admin/assets.js +268 -0
  44. data/app/assets/javascripts/admin/assets_admin.js +16 -0
  45. data/app/assets/javascripts/admin/jquery.fileupload.js +1457 -0
  46. data/app/assets/javascripts/admin/jquery.iframe-transport.js +214 -0
  47. data/app/assets/javascripts/admin/jquery.ui.widget.js +558 -0
  48. data/app/assets/stylesheets/admin/assets.scss +283 -0
  49. data/app/controllers/admin/assets_controller.rb +88 -0
  50. data/app/controllers/admin/page_attachments_controller.rb +23 -0
  51. data/app/helpers/admin/assets_helper.rb +16 -0
  52. data/app/helpers/admin/page_attachments_helper.rb +2 -0
  53. data/app/models/asset.rb +251 -0
  54. data/app/models/asset_type.rb +239 -0
  55. data/app/models/old_page_attachment.rb +26 -0
  56. data/app/models/page_attachment.rb +20 -0
  57. data/app/views/admin/assets/_asset.html.haml +12 -0
  58. data/app/views/admin/assets/_asset_table.html.haml +30 -0
  59. data/app/views/admin/assets/_errors.html.haml +3 -0
  60. data/app/views/admin/assets/_form.html.haml +18 -0
  61. data/app/views/admin/assets/_page_assets.html.haml +12 -0
  62. data/app/views/admin/assets/_search.html.haml +17 -0
  63. data/app/views/admin/assets/_search_results.html.haml +17 -0
  64. data/app/views/admin/assets/edit.html.haml +40 -0
  65. data/app/views/admin/assets/index.html.haml +15 -0
  66. data/app/views/admin/assets/new.html.haml +24 -0
  67. data/app/views/admin/assets/refresh.html.haml +14 -0
  68. data/app/views/admin/assets/remove.html.haml +16 -0
  69. data/app/views/admin/configuration/_clipped_edit.html.haml +8 -0
  70. data/app/views/admin/configuration/_clipped_show.html.haml +12 -0
  71. data/app/views/admin/page_attachments/_attachment.html.haml +25 -0
  72. data/app/views/admin/pages/_asset_popups.html.haml +37 -0
  73. data/app/views/admin/pages/_assets.html.haml +13 -0
  74. data/app/views/admin/removed/_assets_bucket.html.haml +8 -0
  75. data/app/views/admin/removed/_assets_container.html.haml +54 -0
  76. data/app/views/admin/removed/_bucket.html.haml +11 -0
  77. data/app/views/admin/removed/_bucket_asset.html.haml +9 -0
  78. data/app/views/admin/removed/_show_bucket_link.html.haml +4 -0
  79. data/app/views/admin/removed/_upload_to_page.html.haml +12 -0
  80. data/app/views/admin/removed/bucket/_iframe.html.haml +1 -0
  81. data/config/application.rb +0 -37
  82. data/config/initializers/assets.rb +1 -0
  83. data/config/initializers/interpolation.rb +6 -0
  84. data/config/initializers/kraken.rb +7 -0
  85. data/config/initializers/trusty_cms_config.rb +67 -0
  86. data/config/locales/en.yml +101 -0
  87. data/config/routes.rb +14 -3
  88. data/coverage/index.html +26 -26
  89. data/db/migrate/028_create_assets.rb +12 -0
  90. data/db/migrate/029_create_paperclip_attributes.rb +13 -0
  91. data/db/migrate/030_create_user_observer.rb +13 -0
  92. data/db/migrate/031_create_page_attachments.rb +19 -0
  93. data/db/migrate/032_rename_users.rb +13 -0
  94. data/db/migrate/20110513205050_asset_uuid.rb +11 -0
  95. data/db/migrate/20110606111250_update_configuration.rb +34 -0
  96. data/db/migrate/20110609101438_dimensions.rb +13 -0
  97. data/lib/trusty_cms.rb +1 -1
  98. data/spec/dummy/db/schema.rb +22 -0
  99. data/spec/dummy/log/test.log +95620 -0
  100. data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
  101. data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
  102. data/spec/dummy/tmp/capybara/capybara-20180312152412265881245.html +262 -0
  103. data/spec/dummy/tmp/capybara/capybara-201803121526139973682798.html +149 -0
  104. data/spec/factories/layout.rb +1 -1
  105. data/spec/factories/page.rb +3 -3
  106. data/spec/factories/page_part.rb +1 -1
  107. data/spec/factories/user.rb +1 -1
  108. data/spec/models/layout_spec.rb +6 -6
  109. data/spec/spec_helper.rb +4 -4
  110. data/trusty_cms.gemspec +27 -22
  111. data/vendor/extensions/clipped-extension/clipped_extension.rb +40 -0
  112. data/vendor/extensions/clipped-extension/lib/asset_tags.rb +346 -0
  113. data/vendor/extensions/clipped-extension/lib/clipped/engine.rb +11 -0
  114. data/vendor/extensions/clipped-extension/lib/clipped_admin_ui.rb +28 -0
  115. data/vendor/extensions/clipped-extension/lib/generators/templates/clipped_config.rb +53 -0
  116. data/vendor/extensions/clipped-extension/lib/page_asset_associations.rb +13 -0
  117. data/vendor/extensions/clipped-extension/lib/paperclip/frame_grab.rb +73 -0
  118. data/vendor/extensions/clipped-extension/lib/paperclip/geometry_transformation.rb +80 -0
  119. data/vendor/extensions/clipped-extension/lib/tasks/clipped_extension_tasks.rake +124 -0
  120. data/vendor/extensions/clipped-extension/lib/tasks/paperclip_tasks.rake +79 -0
  121. data/vendor/extensions/clipped-extension/lib/trusty-clipped-extension.rb +2 -0
  122. data/vendor/extensions/clipped-extension/lib/trusty_cms_clipped_extension/cloud.rb +41 -0
  123. metadata +219 -67
  124. data/config/initializers/ckeditor.rb +0 -3
  125. data/config/initializers/haml.rb +0 -2
  126. data/config/initializers/rails_patch.rb +0 -2
  127. data/config/initializers/string_extensions.rb +0 -1
  128. data/config/initializers/symbol_extensions.rb +0 -1
@@ -0,0 +1,262 @@
1
+ <!DOCTYPE html>
2
+ <html lang='en-US'>
3
+ <head>
4
+ <meta content='text/html;charset=utf-8' http-equiv='Content-type'>
5
+ <title>TrustyCMS - Publishing for Small Teams</title>
6
+ <link rel="stylesheet" media="all" href="/assets/admin/main-73b98f9da0417a7ef167276d65ad8e4d918d6d3564f3df6314665f1b8006cf2e.css" />
7
+ <script type='text/javascript'>
8
+ var relative_url_root = "";
9
+ </script>
10
+ <script src="/assets/admin-beb8fe0d7b3931c1a407429a0653d5f136da4ae30dc006d9c032836756743f69.js"></script>
11
+ <script>
12
+ //<![CDATA[
13
+
14
+
15
+ //]]>
16
+ </script><style type='text/css'>
17
+
18
+ </style>
19
+
20
+
21
+ </head>
22
+ <body class='reversed reversed'>
23
+ <div id='page'>
24
+ <div id='header'>
25
+
26
+ <div id='site_links'>
27
+ Logged in as <a href="/admin/preferences/edit">Kathryn Janeway</a> &nbsp; (<a href="/admin/logout">Logout</a>)
28
+ &nbsp;
29
+ <a id="view_site" href="/">View Site</a>
30
+ </div>
31
+ <ul id='navigation'>
32
+ <li class=''>
33
+ <a href="/admin/pages">Content</a>
34
+ </li>
35
+ <li class=''>
36
+ <a href="/admin/layouts">Design</a>
37
+ </li>
38
+ <li class='current '>
39
+ <a href="/admin/configuration">Settings</a>
40
+ </li>
41
+ </ul>
42
+ <div id='toolbar'>
43
+ <ul id='secondary_navigation'>
44
+ <li><a class="current" href="/admin/configuration">General</a></li>
45
+ <li><a href="/admin/preferences">Personal</a></li>
46
+ <li><a href="/admin/users">Users</a></li>
47
+ <li><a href="/admin/extensions">Extensions</a></li>
48
+ </ul>
49
+
50
+ </div>
51
+ </div>
52
+ <div id='main'>
53
+ <div id='content'>
54
+ <h1>Configuration</h1>
55
+ <form data-onsubmit_status="Saving changes&amp;#8230;" action="/admin/configuration" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="put" />
56
+ <fieldset>
57
+ <h3>Site</h3>
58
+ <p>
59
+ <label for="site_title"><spanlass="translation_missing"itle="translationissing:n.trusty_config.site.title">Title</span></label><input type="text" name="trusty_config[site.title]" id="site_title" value="My Special Site" class="textbox" />
60
+ </p>
61
+ <p>
62
+ <label for="site_host"><spanlass="translation_missing"itle="translationissing:n.trusty_config.site.host">Host</span></label><input type="text" name="trusty_config[site.host]" id="site_host" value="www.example.com" class="textbox" />
63
+ </p>
64
+ <p>
65
+ <label for="dev_host"><spanlass="translation_missing"itle="translationissing:n.trusty_config.dev.host">Host</span></label><input type="text" name="trusty_config[dev.host]" id="dev_host" value="" class="textbox" />
66
+ </p>
67
+ <p>
68
+ <label for="local_timezone"><spanlass="translation_missing"itle="translationissing:n.trusty_config.local.timezone">Timezone</span></label><select name="trusty_config[local.timezone]" id="local_timezone" class="setting"><option value=""></option>
69
+ <option value="Abu Dhabi">Abu Dhabi</option>
70
+ <option value="Adelaide">Adelaide</option>
71
+ <option value="Alaska">Alaska</option>
72
+ <option value="Almaty">Almaty</option>
73
+ <option value="American Samoa">American Samoa</option>
74
+ <option value="Amsterdam">Amsterdam</option>
75
+ <option value="Arizona">Arizona</option>
76
+ <option value="Astana">Astana</option>
77
+ <option value="Athens">Athens</option>
78
+ <option value="Atlantic Time (Canada)">Atlantic Time (Canada)</option>
79
+ <option value="Auckland">Auckland</option>
80
+ <option value="Azores">Azores</option>
81
+ <option value="Baghdad">Baghdad</option>
82
+ <option value="Baku">Baku</option>
83
+ <option value="Bangkok">Bangkok</option>
84
+ <option value="Beijing">Beijing</option>
85
+ <option value="Belgrade">Belgrade</option>
86
+ <option value="Berlin">Berlin</option>
87
+ <option value="Bern">Bern</option>
88
+ <option value="Bogota">Bogota</option>
89
+ <option value="Brasilia">Brasilia</option>
90
+ <option value="Bratislava">Bratislava</option>
91
+ <option value="Brisbane">Brisbane</option>
92
+ <option value="Brussels">Brussels</option>
93
+ <option value="Bucharest">Bucharest</option>
94
+ <option value="Budapest">Budapest</option>
95
+ <option value="Buenos Aires">Buenos Aires</option>
96
+ <option value="Cairo">Cairo</option>
97
+ <option value="Canberra">Canberra</option>
98
+ <option value="Cape Verde Is.">Cape Verde Is.</option>
99
+ <option value="Caracas">Caracas</option>
100
+ <option value="Casablanca">Casablanca</option>
101
+ <option value="Central America">Central America</option>
102
+ <option value="Central Time (US &amp; Canada)">Central Time (US &amp; Canada)</option>
103
+ <option value="Chatham Is.">Chatham Is.</option>
104
+ <option value="Chennai">Chennai</option>
105
+ <option value="Chihuahua">Chihuahua</option>
106
+ <option value="Chongqing">Chongqing</option>
107
+ <option value="Copenhagen">Copenhagen</option>
108
+ <option value="Darwin">Darwin</option>
109
+ <option value="Dhaka">Dhaka</option>
110
+ <option value="Dublin">Dublin</option>
111
+ <option value="Eastern Time (US &amp; Canada)">Eastern Time (US &amp; Canada)</option>
112
+ <option value="Edinburgh">Edinburgh</option>
113
+ <option value="Ekaterinburg">Ekaterinburg</option>
114
+ <option value="Fiji">Fiji</option>
115
+ <option value="Georgetown">Georgetown</option>
116
+ <option value="Greenland">Greenland</option>
117
+ <option value="Guadalajara">Guadalajara</option>
118
+ <option value="Guam">Guam</option>
119
+ <option value="Hanoi">Hanoi</option>
120
+ <option value="Harare">Harare</option>
121
+ <option value="Hawaii">Hawaii</option>
122
+ <option value="Helsinki">Helsinki</option>
123
+ <option value="Hobart">Hobart</option>
124
+ <option value="Hong Kong">Hong Kong</option>
125
+ <option value="Indiana (East)">Indiana (East)</option>
126
+ <option value="International Date Line West">International Date Line West</option>
127
+ <option value="Irkutsk">Irkutsk</option>
128
+ <option value="Islamabad">Islamabad</option>
129
+ <option value="Istanbul">Istanbul</option>
130
+ <option value="Jakarta">Jakarta</option>
131
+ <option value="Jerusalem">Jerusalem</option>
132
+ <option value="Kabul">Kabul</option>
133
+ <option value="Kaliningrad">Kaliningrad</option>
134
+ <option value="Kamchatka">Kamchatka</option>
135
+ <option value="Karachi">Karachi</option>
136
+ <option value="Kathmandu">Kathmandu</option>
137
+ <option value="Kolkata">Kolkata</option>
138
+ <option value="Krasnoyarsk">Krasnoyarsk</option>
139
+ <option value="Kuala Lumpur">Kuala Lumpur</option>
140
+ <option value="Kuwait">Kuwait</option>
141
+ <option value="Kyiv">Kyiv</option>
142
+ <option value="La Paz">La Paz</option>
143
+ <option value="Lima">Lima</option>
144
+ <option value="Lisbon">Lisbon</option>
145
+ <option value="Ljubljana">Ljubljana</option>
146
+ <option value="London">London</option>
147
+ <option value="Madrid">Madrid</option>
148
+ <option value="Magadan">Magadan</option>
149
+ <option value="Marshall Is.">Marshall Is.</option>
150
+ <option value="Mazatlan">Mazatlan</option>
151
+ <option value="Melbourne">Melbourne</option>
152
+ <option value="Mexico City">Mexico City</option>
153
+ <option value="Mid-Atlantic">Mid-Atlantic</option>
154
+ <option value="Midway Island">Midway Island</option>
155
+ <option value="Minsk">Minsk</option>
156
+ <option value="Monrovia">Monrovia</option>
157
+ <option value="Monterrey">Monterrey</option>
158
+ <option value="Montevideo">Montevideo</option>
159
+ <option value="Moscow">Moscow</option>
160
+ <option value="Mountain Time (US &amp; Canada)">Mountain Time (US &amp; Canada)</option>
161
+ <option value="Mumbai">Mumbai</option>
162
+ <option value="Muscat">Muscat</option>
163
+ <option value="Nairobi">Nairobi</option>
164
+ <option value="New Caledonia">New Caledonia</option>
165
+ <option value="New Delhi">New Delhi</option>
166
+ <option value="Newfoundland">Newfoundland</option>
167
+ <option value="Novosibirsk">Novosibirsk</option>
168
+ <option value="Nuku&#39;alofa">Nuku&#39;alofa</option>
169
+ <option value="Osaka">Osaka</option>
170
+ <option value="Pacific Time (US &amp; Canada)">Pacific Time (US &amp; Canada)</option>
171
+ <option value="Paris">Paris</option>
172
+ <option value="Perth">Perth</option>
173
+ <option value="Port Moresby">Port Moresby</option>
174
+ <option value="Prague">Prague</option>
175
+ <option value="Pretoria">Pretoria</option>
176
+ <option value="Quito">Quito</option>
177
+ <option value="Rangoon">Rangoon</option>
178
+ <option value="Riga">Riga</option>
179
+ <option value="Riyadh">Riyadh</option>
180
+ <option value="Rome">Rome</option>
181
+ <option value="Samara">Samara</option>
182
+ <option value="Samoa">Samoa</option>
183
+ <option value="Santiago">Santiago</option>
184
+ <option value="Sapporo">Sapporo</option>
185
+ <option value="Sarajevo">Sarajevo</option>
186
+ <option value="Saskatchewan">Saskatchewan</option>
187
+ <option value="Seoul">Seoul</option>
188
+ <option value="Singapore">Singapore</option>
189
+ <option value="Skopje">Skopje</option>
190
+ <option value="Sofia">Sofia</option>
191
+ <option value="Solomon Is.">Solomon Is.</option>
192
+ <option value="Srednekolymsk">Srednekolymsk</option>
193
+ <option value="Sri Jayawardenepura">Sri Jayawardenepura</option>
194
+ <option value="St. Petersburg">St. Petersburg</option>
195
+ <option value="Stockholm">Stockholm</option>
196
+ <option value="Sydney">Sydney</option>
197
+ <option value="Taipei">Taipei</option>
198
+ <option value="Tallinn">Tallinn</option>
199
+ <option value="Tashkent">Tashkent</option>
200
+ <option value="Tbilisi">Tbilisi</option>
201
+ <option value="Tehran">Tehran</option>
202
+ <option value="Tijuana">Tijuana</option>
203
+ <option value="Tokelau Is.">Tokelau Is.</option>
204
+ <option value="Tokyo">Tokyo</option>
205
+ <option selected="selected" value="UTC">UTC</option>
206
+ <option value="Ulaanbaatar">Ulaanbaatar</option>
207
+ <option value="Urumqi">Urumqi</option>
208
+ <option value="Vienna">Vienna</option>
209
+ <option value="Vilnius">Vilnius</option>
210
+ <option value="Vladivostok">Vladivostok</option>
211
+ <option value="Volgograd">Volgograd</option>
212
+ <option value="Warsaw">Warsaw</option>
213
+ <option value="Wellington">Wellington</option>
214
+ <option value="West Central Africa">West Central Africa</option>
215
+ <option value="Yakutsk">Yakutsk</option>
216
+ <option value="Yerevan">Yerevan</option>
217
+ <option value="Zagreb">Zagreb</option>
218
+ <option value="Zurich">Zurich</option></select>
219
+ </p>
220
+ </fieldset>
221
+ <fieldset>
222
+ <h3>Defaults</h3>
223
+ <p>
224
+ <label for="defaults_locale"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.locale">Locale</span></label><select name="trusty_config[defaults.locale]" id="defaults_locale" class="setting"><option selected="selected" value=""></option>
225
+ <option value="en">English</option></select>
226
+ </p>
227
+ <p>
228
+ <label for="defaults_page_filter"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.filter">Filter</span></label><select name="trusty_config[defaults.page.filter]" id="defaults_page_filter" class="setting"><option selected="selected" value=""></option></select>
229
+ </p>
230
+ <p>
231
+ <label for="defaults_page_parts"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.parts">Parts</span></label><input type="text" name="trusty_config[defaults.page.parts]" id="defaults_page_parts" value="body, extended" class="textbox" />
232
+ </p>
233
+ <p>
234
+ <label for="defaults_page_fields"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.fields">Fields</span></label><input type="text" name="trusty_config[defaults.page.fields]" id="defaults_page_fields" value="Keywords, Description" class="textbox" />
235
+ </p>
236
+ <p>
237
+ <label for="defaults_page_status"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.status">Status</span></label><select name="trusty_config[defaults.page.status]" id="defaults_page_status" class="setting"><option selected="selected" value="Draft">Draft</option>
238
+ <option value="Reviewed">Reviewed</option>
239
+ <option value="Published">Published</option>
240
+ <option value="Hidden">Hidden</option></select>
241
+ </p>
242
+ </fieldset>
243
+ <fieldset>
244
+ <h3>Passwords</h3>
245
+ <p>
246
+ <input type="hidden" name="trusty_config[user.allow_password_reset?]" id="trusty_config_user.allow_password_reset_" value="0" /><input type="checkbox" name="trusty_config[user.allow_password_reset?]" id="user_allow_password_reset_" value="1" class="setting" /><label class="checkbox" for="user_allow_password_reset_"><spanlass="translation_missing"itle="translationissing:n.trusty_config.user.allow_password_reset?">Allow Password Reset?</span></label>
247
+ </p>
248
+ </fieldset>
249
+ <div class='buttons'>
250
+ <input class='button' type='submit' value='Save Changes'>
251
+ or
252
+ <a class="alt" href="/admin/configuration">Cancel</a>
253
+ </div>
254
+ </form>
255
+ </div>
256
+ </div>
257
+ <div id='popups'>
258
+
259
+ </div>
260
+ </div>
261
+ </body>
262
+ </html>
@@ -0,0 +1,149 @@
1
+ <!DOCTYPE html>
2
+ <html lang='en-US'>
3
+ <head>
4
+ <meta content='text/html;charset=utf-8' http-equiv='Content-type'>
5
+ <title>TrustyCMS - Publishing for Small Teams</title>
6
+ <link rel="stylesheet" media="all" href="/assets/admin/main-73b98f9da0417a7ef167276d65ad8e4d918d6d3564f3df6314665f1b8006cf2e.css" />
7
+ <script type='text/javascript'>
8
+ var relative_url_root = "";
9
+ </script>
10
+ <script src="/assets/admin-beb8fe0d7b3931c1a407429a0653d5f136da4ae30dc006d9c032836756743f69.js"></script>
11
+ <script>
12
+ //<![CDATA[
13
+
14
+
15
+ //]]>
16
+ </script><style type='text/css'>
17
+
18
+ </style>
19
+
20
+
21
+ </head>
22
+ <body class='reversed'>
23
+ <div id='page'>
24
+ <div id='header'>
25
+
26
+ <div id='site_links'>
27
+ Logged in as <a href="/admin/preferences/edit">Kathryn Janeway</a> &nbsp; (<a href="/admin/logout">Logout</a>)
28
+ &nbsp;
29
+ <a id="view_site" href="/">View Site</a>
30
+ </div>
31
+ <ul id='navigation'>
32
+ <li class=''>
33
+ <a href="/admin/pages">Content</a>
34
+ </li>
35
+ <li class=''>
36
+ <a href="/admin/layouts">Design</a>
37
+ </li>
38
+ <li class='current '>
39
+ <a href="/admin/configuration">Settings</a>
40
+ </li>
41
+ </ul>
42
+ <div id='toolbar'>
43
+ <ul id='secondary_navigation'>
44
+ <li><a class="current" href="/admin/configuration">General</a></li>
45
+ <li><a href="/admin/preferences">Personal</a></li>
46
+ <li><a href="/admin/users">Users</a></li>
47
+ <li><a href="/admin/extensions">Extensions</a></li>
48
+ </ul>
49
+
50
+ </div>
51
+ </div>
52
+ <div id='main'>
53
+ <div id='content'>
54
+ <div class='box' id='preferences'>
55
+ <h3>
56
+ <div class='actions'>
57
+ <form class="button_to" method="get" action="/admin/preferences"><input type="submit" value="Edit Preferences" /></form>
58
+ </div>
59
+ Personal Preferences
60
+ </h3>
61
+ <img class="avatar" width="64" height="64" alt="" src="/production/assets/admin/avatar_64x64.png" />
62
+ <p class='ruled'>
63
+ <label>
64
+ Name
65
+ </label>
66
+ <span>
67
+ Kathryn Janeway
68
+ </span>
69
+ </p>
70
+ <p class='ruled'>
71
+ <label>
72
+ E-mail Address
73
+ </label>
74
+ <span class='uri'>
75
+
76
+ </span>
77
+ </p>
78
+ <p class='ruled'>
79
+ <label>
80
+ Login
81
+ </label>
82
+ <span>
83
+ captain
84
+ </span>
85
+ </p>
86
+ <p class='ruled'>
87
+ <label>
88
+ Password
89
+ </label>
90
+ <big>&bull;&bull;&bull;&bull;&bull;</big>
91
+ </p>
92
+ <p class='ruled'>
93
+ <label>
94
+ Language
95
+ </label>
96
+ <span>
97
+
98
+ </span>
99
+ </p>
100
+ </div>
101
+ <div class='box' id='config'>
102
+ <h3>
103
+ <div class='actions'>
104
+ <form class="button_to" method="get" action="/admin/configuration/edit"><input type="submit" value="Edit Configuration" /></form>
105
+ </div>
106
+ Configuration
107
+ </h3>
108
+ <p class='ruled'>
109
+ <label for="site_title">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.site.title&quot;&gt;Title&lt;/span&gt;</label><span id="site_title">My Special Site</span>
110
+ </p>
111
+ <p class='ruled'>
112
+ <label for="site_host">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.site.host&quot;&gt;Host&lt;/span&gt;</label><span id="site_host" class="uri">www.example.com</span>
113
+ </p>
114
+ <p class='ruled'>
115
+ <label for="dev_host">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.dev.host&quot;&gt;Host&lt;/span&gt;</label><span id="dev_host" class="uri"></span>
116
+ </p>
117
+ <p class='ruled'>
118
+ <label for="local_timezone">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.local.timezone&quot;&gt;Timezone&lt;/span&gt;</label><span id="local_timezone">UTC</span>
119
+ </p>
120
+ <h4>Defaults</h4>
121
+ <p class='ruled'>
122
+ <label for="defaults_locale">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.defaults.locale&quot;&gt;Locale&lt;/span&gt;</label><span id="defaults_locale"></span>
123
+ </p>
124
+ <p class='ruled'>
125
+ <label for="defaults_page_filter">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.defaults.page.filter&quot;&gt;Filter&lt;/span&gt;</label><span id="defaults_page_filter"></span>
126
+ </p>
127
+ <p class='ruled'>
128
+ <label for="defaults_page_parts">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.defaults.page.parts&quot;&gt;Parts&lt;/span&gt;</label><span id="defaults_page_parts">body, extended</span>
129
+ </p>
130
+ <p class='ruled'>
131
+ <label for="defaults_page_fields">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.defaults.page.fields&quot;&gt;Fields&lt;/span&gt;</label><span id="defaults_page_fields">Keywords, Description</span>
132
+ </p>
133
+ <p class='ruled'>
134
+ <label for="defaults_page_status">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.defaults.page.status&quot;&gt;Status&lt;/span&gt;</label><span id="defaults_page_status">Draft</span>
135
+ </p>
136
+ <h4>Passwords</h4>
137
+ <p class='ruled'>
138
+ <label for="user_allow_password_reset_">&lt;spanlass=&quot;translation_missing&quot;itle=&quot;translationissing:n.trusty_config.user.allow_password_reset?&quot;&gt;Allow Password Reset?&lt;/span&gt;</label><span id="user_allow_password_reset_" class="No ">No</span>
139
+ </p>
140
+ </div>
141
+
142
+ </div>
143
+ </div>
144
+ <div id='popups'>
145
+
146
+ </div>
147
+ </div>
148
+ </body>
149
+ </html>
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
 
3
3
  factory :layout do
4
4
  name 'Main Layout'
@@ -1,15 +1,15 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :page do
3
3
  title 'Page'
4
4
  breadcrumb { title }
5
5
  slug { title.slugify }
6
6
 
7
7
  trait :with_parts do
8
- page_parts { [FactoryGirl.create(:page_part, name: 'body')] }
8
+ page_parts { [FactoryBot.create(:page_part, name: 'body')] }
9
9
  end
10
10
 
11
11
  trait :with_children do
12
- children { [FactoryGirl.create(:page, :with_parts)] }
12
+ children { [FactoryBot.create(:page, :with_parts)] }
13
13
  end
14
14
 
15
15
  factory :page_with_layout do
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
 
3
3
  factory :page_part do
4
4
  name 'unnamed'
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :user do
3
3
  name 'User'
4
4
  email 'email@test.com'
@@ -2,26 +2,26 @@ require 'spec_helper'
2
2
 
3
3
  describe Layout do
4
4
 
5
- let(:layout){ FactoryGirl.build(:layout) }
5
+ let(:layout){ FactoryBot.build(:layout) }
6
6
 
7
7
  describe 'name' do
8
8
  it 'is invalid when blank' do
9
- layout = FactoryGirl.build(:layout, name: '')
9
+ layout = FactoryBot.build(:layout, name: '')
10
10
  layout.valid?
11
11
  expect(layout.errors[:name]).to include("this must not be blank")
12
12
  end
13
13
 
14
14
  it 'should validate uniqueness of' do
15
- layout = FactoryGirl.build(:layout, name: 'Normal', content: "Content!")
15
+ layout = FactoryBot.build(:layout, name: 'Normal', content: "Content!")
16
16
  layout.save!
17
- other = FactoryGirl.build(:layout, name: 'Normal', content: "Content!")
17
+ other = FactoryBot.build(:layout, name: 'Normal', content: "Content!")
18
18
  expect{other.save!}.to raise_error(ActiveRecord::RecordInvalid)
19
19
  end
20
20
 
21
21
  it 'should validate length of' do
22
- layout = FactoryGirl.build(:layout, name: 'x' * 100)
22
+ layout = FactoryBot.build(:layout, name: 'x' * 100)
23
23
  expect(layout.errors[:name]).to be_blank
24
- layout = FactoryGirl.build(:layout, name: 'x' * 101)
24
+ layout = FactoryBot.build(:layout, name: 'x' * 101)
25
25
  expect{layout.save!}.to raise_error(ActiveRecord::RecordInvalid)
26
26
  expect(layout.errors[:name]).to include("this must not be longer than 100 characters")
27
27
  end
data/spec/spec_helper.rb CHANGED
@@ -1,18 +1,18 @@
1
1
  ENV['RAILS_ENV'] ||= 'test'
2
2
  require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
3
  require 'rspec/rails'
4
- require 'factory_girl_rails'
4
+ require 'factory_bot_rails'
5
5
  require 'simplecov'
6
6
  SimpleCov.start
7
7
 
8
8
  Rails.backtrace_cleaner.remove_silencers!
9
9
  # Load support files
10
10
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
- FactoryGirl.definition_file_paths = [File.expand_path('../factories', __FILE__)]
12
- FactoryGirl.find_definitions
11
+ FactoryBot.definition_file_paths = [File.expand_path('../factories', __FILE__)]
12
+ FactoryBot.find_definitions
13
13
 
14
14
  RSpec.configure do |config|
15
- config.include FactoryGirl::Syntax::Methods
15
+ config.include FactoryBot::Syntax::Methods
16
16
  config.mock_with :rspec
17
17
  config.use_transactional_fixtures = true
18
18
  config.infer_base_class_for_anonymous_controllers = false
data/trusty_cms.gemspec CHANGED
@@ -24,28 +24,33 @@ a general purpose content managment system--not merely a blogging engine.}
24
24
  s.license = %q{MIT}
25
25
  s.test_files = Dir["spec/**/*"]
26
26
 
27
- s.add_dependency "tzinfo", "~> 1.2.3"
28
- s.add_dependency "rails", "~> 5.1"
29
- s.add_dependency "rdoc", "~> 5.1"
30
- s.add_dependency "acts_as_tree", "~> 2.6.1"
31
- s.add_dependency "bundler", "~> 1.7"
32
- s.add_dependency "delocalize", "~> 0.2"
33
- s.add_dependency "haml", "~> 5.0"
34
- s.add_dependency "haml-rails", "~> 1.0.0"
35
- s.add_dependency "sass-rails", "~> 5.0.6"
36
- s.add_dependency "compass-rails", "~> 3.0.2"
37
- s.add_dependency "highline", "~> 1.7.8"
38
- s.add_dependency "mysql2", "~> 0.4.2"
39
- s.add_dependency "rack", "~> 2.0.1"
40
- s.add_dependency "rack-cache", "~> 1.7"
41
- s.add_dependency "radius", "~> 0.7"
42
- s.add_dependency "RedCloth", "~> 4.3.2"
43
- s.add_dependency "will_paginate", "~> 3.0"
44
- s.add_dependency "stringex", "~> 2.7.1"
45
- s.add_dependency 'uglifier', '~> 3.2'
27
+ s.add_dependency 'acts_as_list', '~> 0.9.5'
28
+ s.add_dependency 'acts_as_tree', '~> 2.6.1'
29
+ s.add_dependency 'bundler', '~> 1.7'
30
+ s.add_dependency 'cocaine', '~> 0.5.8'
31
+ s.add_dependency 'ckeditor', '~> 4.2.2'
32
+ s.add_dependency 'compass-rails', '~> 3.0.2'
33
+ s.add_dependency 'delocalize', '~> 0.2'
46
34
  s.add_dependency 'execjs', '~> 2.7'
47
- s.add_dependency 'therubyracer', '~> 0.12.3'
48
- s.add_dependency "ckeditor", "~> 4.2.2"
49
- s.add_dependency "rake", "< 11.0"
35
+ s.add_dependency 'haml', '~> 5.0'
36
+ s.add_dependency 'haml-rails', '~> 1.0.0'
37
+ s.add_dependency 'highline', '~> 1.7.8'
38
+ s.add_dependency 'kraken-io'
39
+ s.add_dependency 'mysql2', '~> 0.4.2'
40
+ s.add_dependency 'paperclip', '> 5.2'
41
+ s.add_dependency 'rack', '~> 2.0.1'
42
+ s.add_dependency 'rack-cache', '~> 1.7'
43
+ s.add_dependency 'rails', '~> 5.1'
44
+ s.add_dependency 'rdoc', '~> 5.1'
45
+ s.add_dependency 'radius', '~> 0.7'
46
+ s.add_dependency 'RedCloth', '4.3.2'
47
+ s.add_dependency 'rake', '< 11.0'
50
48
  s.add_dependency 'roadie-rails', '~> 1.2.1'
49
+ s.add_dependency 'stringex', '~> 2.7.1'
50
+ s.add_dependency 'therubyracer', '~> 0.12.3'
51
+ s.add_dependency 'tzinfo', '~> 1.2.3'
52
+ s.add_dependency 'uglifier', '~> 3.2'
53
+ s.add_dependency 'uuidtools', '~> 2.1.5'
54
+ s.add_dependency 'will_paginate', '~> 3.0'
55
+
51
56
  end
@@ -0,0 +1,40 @@
1
+ class ClippedExtension < TrustyCms::Extension
2
+ migrate_from 'Paperclipped', 20100327111216
3
+
4
+ def activate
5
+ if Asset.table_exists?
6
+ Page.send :include, PageAssetAssociations # defines page-asset associations. likely to be generalised soon.
7
+ TrustyCms::AdminUI.send :include, ClippedAdminUI unless defined? admin.asset # defines shards for extension of the asset-admin interface
8
+ Admin::PagesController.send :helper, Admin::AssetsHelper # currently only provides a description of asset sizes
9
+ Page.send :include, AssetTags # radius tags for selecting sets of assets and presenting each one
10
+ UserActionObserver.instance.send :add_observer!, Asset # the usual creator- and updater-stamping
11
+
12
+ AssetType.new :image, :icon => 'image', :default_radius_tag => 'image', :processors => [:thumbnail], :styles => :standard, :extensions => %w[jpg jpeg png gif], :mime_types => %w[image/png image/x-png image/jpeg image/pjpeg image/jpg image/gif]
13
+ AssetType.new :video, :icon => 'video', :processors => [:frame_grab], :styles => :standard, :mime_types => %w[application/x-mp4 video/mpeg video/quicktime video/x-la-asf video/x-ms-asf video/x-msvideo video/x-sgi-movie video/x-flv flv-application/octet-stream video/3gpp video/3gpp2 video/3gpp-tt video/BMPEG video/BT656 video/CelB video/DV video/H261 video/H263 video/H263-1998 video/H263-2000 video/H264 video/JPEG video/MJ2 video/MP1S video/MP2P video/MP2T video/mp4 video/MP4V-ES video/MPV video/mpeg4 video/mpeg4-generic video/nv video/parityfec video/pointer video/raw video/rtx video/ogg video/webm]
14
+ AssetType.new :audio, :icon => 'audio', :mime_types => %w[audio/mpeg audio/mpg audio/ogg application/ogg audio/x-ms-wma audio/vnd.rn-realaudio audio/x-wav]
15
+ AssetType.new :pdf, :icon => 'pdf', :processors => [:thumbnail], :extensions => %w{pdf}, :mime_types => %w[application/pdf application/x-pdf], :styles => :standard
16
+ AssetType.new :document, :icon => 'document', :mime_types => %w[application/msword application/rtf application/vnd.ms-excel application/vnd.ms-powerpoint application/vnd.ms-project application/vnd.ms-works text/plain text/html]
17
+ AssetType.new :other, :icon => 'unknown'
18
+
19
+ admin.asset ||= TrustyCms::AdminUI.load_default_asset_regions # loads the shards defined in AssetsAdminUI
20
+ admin.page.edit.add :form, 'assets', :after => :edit_page_parts # adds the asset-attachment picker to the page edit view
21
+ admin.page.edit.add :main, 'asset_popups', :after => :edit_popups # adds the asset-attachment picker to the page edit view
22
+ admin.page.edit.asset_popups.concat %w{upload_asset attach_asset}
23
+ admin.configuration.show.add :trusty_config, 'admin/configuration/clipped_show', :after => 'defaults'
24
+ admin.configuration.edit.add :form, 'admin/configuration/clipped_edit', :after => 'edit_defaults'
25
+
26
+ if TrustyCms::Config.table_exists? && TrustyCms::config["paperclip.command_path"] # This is needed for testing if you are using mod_rails
27
+ Paperclip.options[:command_path] = TrustyCms::config["paperclip.command_path"]
28
+ end
29
+
30
+ tab "Assets", :after => "Content" do
31
+ add_item "All", "/admin/assets/"
32
+ end
33
+ end
34
+ end
35
+
36
+ def deactivate
37
+
38
+ end
39
+
40
+ end