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.
- checksums.yaml +4 -4
- data/Gemfile +9 -14
- data/Gemfile.lock +84 -70
- data/README.md +4 -0
- data/app/assets/images/admin/add.png +0 -0
- data/app/assets/images/admin/archive_icon.png +0 -0
- data/app/assets/images/admin/audio_icon.png +0 -0
- data/app/assets/images/admin/audio_thumbnail.png +0 -0
- data/app/assets/images/admin/c_icon.png +0 -0
- data/app/assets/images/admin/copy.png +0 -0
- data/app/assets/images/admin/css_icon.png +0 -0
- data/app/assets/images/admin/database_icon.png +0 -0
- data/app/assets/images/admin/delete.png +0 -0
- data/app/assets/images/admin/document_icon.png +0 -0
- data/app/assets/images/admin/document_thumbnail.png +0 -0
- data/app/assets/images/admin/flash_icon.png +0 -0
- data/app/assets/images/admin/flash_thumbnail.png +0 -0
- data/app/assets/images/admin/font_icon.png +0 -0
- data/app/assets/images/admin/gzip_icon.png +0 -0
- data/app/assets/images/admin/html_icon.png +0 -0
- data/app/assets/images/admin/image_icon.png +0 -0
- data/app/assets/images/admin/image_thumbnail.png +0 -0
- data/app/assets/images/admin/java_icon.png +0 -0
- data/app/assets/images/admin/page_edit.png +0 -0
- data/app/assets/images/admin/pdf_icon.png +0 -0
- data/app/assets/images/admin/pdf_thumbnail.png +0 -0
- data/app/assets/images/admin/perl_icon.png +0 -0
- data/app/assets/images/admin/php_icon.png +0 -0
- data/app/assets/images/admin/presentation_icon.png +0 -0
- data/app/assets/images/admin/python_icon.png +0 -0
- data/app/assets/images/admin/reorder_assets.png +0 -0
- data/app/assets/images/admin/ruby_icon.png +0 -0
- data/app/assets/images/admin/script_icon.png +0 -0
- data/app/assets/images/admin/spinner.gif +0 -0
- data/app/assets/images/admin/spreadsheet_icon.png +0 -0
- data/app/assets/images/admin/tar_icon.png +0 -0
- data/app/assets/images/admin/unknown_icon.png +0 -0
- data/app/assets/images/admin/unknown_thumbnail.png +0 -0
- data/app/assets/images/admin/video_icon.png +0 -0
- data/app/assets/images/admin/video_thumbnail.png +0 -0
- data/app/assets/images/admin/xml_icon.png +0 -0
- data/app/assets/images/admin/zip_icon.png +0 -0
- data/app/assets/javascripts/admin/assets.js +268 -0
- data/app/assets/javascripts/admin/assets_admin.js +16 -0
- data/app/assets/javascripts/admin/jquery.fileupload.js +1457 -0
- data/app/assets/javascripts/admin/jquery.iframe-transport.js +214 -0
- data/app/assets/javascripts/admin/jquery.ui.widget.js +558 -0
- data/app/assets/stylesheets/admin/assets.scss +283 -0
- data/app/controllers/admin/assets_controller.rb +88 -0
- data/app/controllers/admin/page_attachments_controller.rb +23 -0
- data/app/helpers/admin/assets_helper.rb +16 -0
- data/app/helpers/admin/page_attachments_helper.rb +2 -0
- data/app/models/asset.rb +251 -0
- data/app/models/asset_type.rb +239 -0
- data/app/models/old_page_attachment.rb +26 -0
- data/app/models/page_attachment.rb +20 -0
- data/app/views/admin/assets/_asset.html.haml +12 -0
- data/app/views/admin/assets/_asset_table.html.haml +30 -0
- data/app/views/admin/assets/_errors.html.haml +3 -0
- data/app/views/admin/assets/_form.html.haml +18 -0
- data/app/views/admin/assets/_page_assets.html.haml +12 -0
- data/app/views/admin/assets/_search.html.haml +17 -0
- data/app/views/admin/assets/_search_results.html.haml +17 -0
- data/app/views/admin/assets/edit.html.haml +40 -0
- data/app/views/admin/assets/index.html.haml +15 -0
- data/app/views/admin/assets/new.html.haml +24 -0
- data/app/views/admin/assets/refresh.html.haml +14 -0
- data/app/views/admin/assets/remove.html.haml +16 -0
- data/app/views/admin/configuration/_clipped_edit.html.haml +8 -0
- data/app/views/admin/configuration/_clipped_show.html.haml +12 -0
- data/app/views/admin/page_attachments/_attachment.html.haml +25 -0
- data/app/views/admin/pages/_asset_popups.html.haml +37 -0
- data/app/views/admin/pages/_assets.html.haml +13 -0
- data/app/views/admin/removed/_assets_bucket.html.haml +8 -0
- data/app/views/admin/removed/_assets_container.html.haml +54 -0
- data/app/views/admin/removed/_bucket.html.haml +11 -0
- data/app/views/admin/removed/_bucket_asset.html.haml +9 -0
- data/app/views/admin/removed/_show_bucket_link.html.haml +4 -0
- data/app/views/admin/removed/_upload_to_page.html.haml +12 -0
- data/app/views/admin/removed/bucket/_iframe.html.haml +1 -0
- data/config/application.rb +0 -37
- data/config/initializers/assets.rb +1 -0
- data/config/initializers/interpolation.rb +6 -0
- data/config/initializers/kraken.rb +7 -0
- data/config/initializers/trusty_cms_config.rb +67 -0
- data/config/locales/en.yml +101 -0
- data/config/routes.rb +14 -3
- data/coverage/index.html +26 -26
- data/db/migrate/028_create_assets.rb +12 -0
- data/db/migrate/029_create_paperclip_attributes.rb +13 -0
- data/db/migrate/030_create_user_observer.rb +13 -0
- data/db/migrate/031_create_page_attachments.rb +19 -0
- data/db/migrate/032_rename_users.rb +13 -0
- data/db/migrate/20110513205050_asset_uuid.rb +11 -0
- data/db/migrate/20110606111250_update_configuration.rb +34 -0
- data/db/migrate/20110609101438_dimensions.rb +13 -0
- data/lib/trusty_cms.rb +1 -1
- data/spec/dummy/db/schema.rb +22 -0
- data/spec/dummy/log/test.log +95620 -0
- data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
- data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
- data/spec/dummy/tmp/capybara/capybara-20180312152412265881245.html +262 -0
- data/spec/dummy/tmp/capybara/capybara-201803121526139973682798.html +149 -0
- data/spec/factories/layout.rb +1 -1
- data/spec/factories/page.rb +3 -3
- data/spec/factories/page_part.rb +1 -1
- data/spec/factories/user.rb +1 -1
- data/spec/models/layout_spec.rb +6 -6
- data/spec/spec_helper.rb +4 -4
- data/trusty_cms.gemspec +27 -22
- data/vendor/extensions/clipped-extension/clipped_extension.rb +40 -0
- data/vendor/extensions/clipped-extension/lib/asset_tags.rb +346 -0
- data/vendor/extensions/clipped-extension/lib/clipped/engine.rb +11 -0
- data/vendor/extensions/clipped-extension/lib/clipped_admin_ui.rb +28 -0
- data/vendor/extensions/clipped-extension/lib/generators/templates/clipped_config.rb +53 -0
- data/vendor/extensions/clipped-extension/lib/page_asset_associations.rb +13 -0
- data/vendor/extensions/clipped-extension/lib/paperclip/frame_grab.rb +73 -0
- data/vendor/extensions/clipped-extension/lib/paperclip/geometry_transformation.rb +80 -0
- data/vendor/extensions/clipped-extension/lib/tasks/clipped_extension_tasks.rake +124 -0
- data/vendor/extensions/clipped-extension/lib/tasks/paperclip_tasks.rake +79 -0
- data/vendor/extensions/clipped-extension/lib/trusty-clipped-extension.rb +2 -0
- data/vendor/extensions/clipped-extension/lib/trusty_cms_clipped_extension/cloud.rb +41 -0
- metadata +219 -67
- data/config/initializers/ckeditor.rb +0 -3
- data/config/initializers/haml.rb +0 -2
- data/config/initializers/rails_patch.rb +0 -2
- data/config/initializers/string_extensions.rb +0 -1
- data/config/initializers/symbol_extensions.rb +0 -1
|
Binary file
|
|
Binary file
|
|
@@ -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> (<a href="/admin/logout">Logout</a>)
|
|
28
|
+
|
|
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&#8230;" action="/admin/configuration" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><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 & Canada)">Central Time (US & 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 & Canada)">Eastern Time (US & 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 & Canada)">Mountain Time (US & 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'alofa">Nuku'alofa</option>
|
|
169
|
+
<option value="Osaka">Osaka</option>
|
|
170
|
+
<option value="Pacific Time (US & Canada)">Pacific Time (US & 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> (<a href="/admin/logout">Logout</a>)
|
|
28
|
+
|
|
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>•••••</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"><spanlass="translation_missing"itle="translationissing:n.trusty_config.site.title">Title</span></label><span id="site_title">My Special Site</span>
|
|
110
|
+
</p>
|
|
111
|
+
<p class='ruled'>
|
|
112
|
+
<label for="site_host"><spanlass="translation_missing"itle="translationissing:n.trusty_config.site.host">Host</span></label><span id="site_host" class="uri">www.example.com</span>
|
|
113
|
+
</p>
|
|
114
|
+
<p class='ruled'>
|
|
115
|
+
<label for="dev_host"><spanlass="translation_missing"itle="translationissing:n.trusty_config.dev.host">Host</span></label><span id="dev_host" class="uri"></span>
|
|
116
|
+
</p>
|
|
117
|
+
<p class='ruled'>
|
|
118
|
+
<label for="local_timezone"><spanlass="translation_missing"itle="translationissing:n.trusty_config.local.timezone">Timezone</span></label><span id="local_timezone">UTC</span>
|
|
119
|
+
</p>
|
|
120
|
+
<h4>Defaults</h4>
|
|
121
|
+
<p class='ruled'>
|
|
122
|
+
<label for="defaults_locale"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.locale">Locale</span></label><span id="defaults_locale"></span>
|
|
123
|
+
</p>
|
|
124
|
+
<p class='ruled'>
|
|
125
|
+
<label for="defaults_page_filter"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.filter">Filter</span></label><span id="defaults_page_filter"></span>
|
|
126
|
+
</p>
|
|
127
|
+
<p class='ruled'>
|
|
128
|
+
<label for="defaults_page_parts"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.parts">Parts</span></label><span id="defaults_page_parts">body, extended</span>
|
|
129
|
+
</p>
|
|
130
|
+
<p class='ruled'>
|
|
131
|
+
<label for="defaults_page_fields"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.fields">Fields</span></label><span id="defaults_page_fields">Keywords, Description</span>
|
|
132
|
+
</p>
|
|
133
|
+
<p class='ruled'>
|
|
134
|
+
<label for="defaults_page_status"><spanlass="translation_missing"itle="translationissing:n.trusty_config.defaults.page.status">Status</span></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_"><spanlass="translation_missing"itle="translationissing:n.trusty_config.user.allow_password_reset?">Allow Password Reset?</span></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>
|
data/spec/factories/layout.rb
CHANGED
data/spec/factories/page.rb
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
|
|
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 { [
|
|
8
|
+
page_parts { [FactoryBot.create(:page_part, name: 'body')] }
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
trait :with_children do
|
|
12
|
-
children { [
|
|
12
|
+
children { [FactoryBot.create(:page, :with_parts)] }
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
factory :page_with_layout do
|
data/spec/factories/page_part.rb
CHANGED
data/spec/factories/user.rb
CHANGED
data/spec/models/layout_spec.rb
CHANGED
|
@@ -2,26 +2,26 @@ require 'spec_helper'
|
|
|
2
2
|
|
|
3
3
|
describe Layout do
|
|
4
4
|
|
|
5
|
-
let(:layout){
|
|
5
|
+
let(:layout){ FactoryBot.build(:layout) }
|
|
6
6
|
|
|
7
7
|
describe 'name' do
|
|
8
8
|
it 'is invalid when blank' do
|
|
9
|
-
layout =
|
|
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 =
|
|
15
|
+
layout = FactoryBot.build(:layout, name: 'Normal', content: "Content!")
|
|
16
16
|
layout.save!
|
|
17
|
-
other =
|
|
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 =
|
|
22
|
+
layout = FactoryBot.build(:layout, name: 'x' * 100)
|
|
23
23
|
expect(layout.errors[:name]).to be_blank
|
|
24
|
-
layout =
|
|
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 '
|
|
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
|
-
|
|
12
|
-
|
|
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
|
|
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
|
|
28
|
-
s.add_dependency
|
|
29
|
-
s.add_dependency
|
|
30
|
-
s.add_dependency
|
|
31
|
-
s.add_dependency
|
|
32
|
-
s.add_dependency
|
|
33
|
-
s.add_dependency
|
|
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 '
|
|
48
|
-
s.add_dependency
|
|
49
|
-
s.add_dependency
|
|
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
|