trusty-cms 3.1.11 → 3.2.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 (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