trusty-cms 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +23 -0
  3. data/CHANGELOG.md +754 -0
  4. data/CONTRIBUTORS.md +263 -0
  5. data/Gemfile +40 -0
  6. data/Gemfile.lock +177 -0
  7. data/INSTALL.md +10 -0
  8. data/LICENSE.md +21 -0
  9. data/README.md +85 -0
  10. data/Rakefile +7 -0
  11. data/app/controllers/admin/configuration_controller.rb +50 -0
  12. data/app/controllers/admin/extensions_controller.rb +11 -0
  13. data/app/controllers/admin/layouts_controller.rb +8 -0
  14. data/app/controllers/admin/page_fields_controller.rb +9 -0
  15. data/app/controllers/admin/page_parts_controller.rb +9 -0
  16. data/app/controllers/admin/pages_controller.rb +89 -0
  17. data/app/controllers/admin/preferences_controller.rb +46 -0
  18. data/app/controllers/admin/references_controller.rb +7 -0
  19. data/app/controllers/admin/resource_controller.rb +245 -0
  20. data/app/controllers/admin/users_controller.rb +40 -0
  21. data/app/controllers/admin/welcome_controller.rb +48 -0
  22. data/app/controllers/application_controller.rb +114 -0
  23. data/app/controllers/site_controller.rb +97 -0
  24. data/app/helpers/admin/configuration_helper.rb +80 -0
  25. data/app/helpers/admin/export_helper.rb +2 -0
  26. data/app/helpers/admin/extensions_helper.rb +2 -0
  27. data/app/helpers/admin/layouts_helper.rb +21 -0
  28. data/app/helpers/admin/node_helper.rb +96 -0
  29. data/app/helpers/admin/pages_helper.rb +117 -0
  30. data/app/helpers/admin/preferences_helper.rb +3 -0
  31. data/app/helpers/admin/references_helper.rb +46 -0
  32. data/app/helpers/admin/regions_helper.rb +28 -0
  33. data/app/helpers/admin/resource_helper.rb +2 -0
  34. data/app/helpers/admin/users_helper.rb +8 -0
  35. data/app/helpers/admin/welcome_helper.rb +2 -0
  36. data/app/helpers/application_helper.rb +241 -0
  37. data/app/helpers/site_helper.rb +2 -0
  38. data/app/models/deprecated_tags.rb +42 -0
  39. data/app/models/file_not_found_page.rb +32 -0
  40. data/app/models/layout.rb +15 -0
  41. data/app/models/menu_renderer.rb +140 -0
  42. data/app/models/page.rb +377 -0
  43. data/app/models/page_context.rb +53 -0
  44. data/app/models/page_field.rb +3 -0
  45. data/app/models/page_part.rb +20 -0
  46. data/app/models/standard_tags.rb +1318 -0
  47. data/app/models/status.rb +41 -0
  48. data/app/models/text_filter.rb +36 -0
  49. data/app/models/trusty_cms/config.rb +313 -0
  50. data/app/models/trusty_cms/page_response_cache_director.rb +43 -0
  51. data/app/models/user.rb +96 -0
  52. data/app/models/user_action_observer.rb +25 -0
  53. data/app/views/admin/configuration/edit.html.haml +38 -0
  54. data/app/views/admin/configuration/show.html.haml +58 -0
  55. data/app/views/admin/extensions/index.html.haml +41 -0
  56. data/app/views/admin/layouts/_form.html.haml +39 -0
  57. data/app/views/admin/layouts/edit.html.haml +9 -0
  58. data/app/views/admin/layouts/index.html.haml +35 -0
  59. data/app/views/admin/layouts/new.html.haml +7 -0
  60. data/app/views/admin/layouts/remove.html.haml +16 -0
  61. data/app/views/admin/page_fields/_page_field.html.haml +12 -0
  62. data/app/views/admin/page_parts/_page_part.html.haml +18 -0
  63. data/app/views/admin/pages/_fields.html.haml +71 -0
  64. data/app/views/admin/pages/_meta_row.html.haml +8 -0
  65. data/app/views/admin/pages/_node.html.haml +26 -0
  66. data/app/views/admin/pages/_popups.html.haml +27 -0
  67. data/app/views/admin/pages/children.html.haml +2 -0
  68. data/app/views/admin/pages/edit.html.haml +12 -0
  69. data/app/views/admin/pages/index.html.haml +26 -0
  70. data/app/views/admin/pages/new.html.haml +10 -0
  71. data/app/views/admin/pages/remove.html.haml +18 -0
  72. data/app/views/admin/preferences/edit.html.haml +44 -0
  73. data/app/views/admin/references/_tag_reference.haml +3 -0
  74. data/app/views/admin/references/filters.haml +6 -0
  75. data/app/views/admin/references/tags.haml +30 -0
  76. data/app/views/admin/users/_avatar.html.haml +5 -0
  77. data/app/views/admin/users/_form.html.haml +53 -0
  78. data/app/views/admin/users/_password_fields.html.haml +18 -0
  79. data/app/views/admin/users/edit.html.haml +9 -0
  80. data/app/views/admin/users/index.html.haml +39 -0
  81. data/app/views/admin/users/new.html.haml +6 -0
  82. data/app/views/admin/users/remove.html.haml +16 -0
  83. data/app/views/admin/welcome/login.html.haml +23 -0
  84. data/app/views/layouts/application.html.haml +50 -0
  85. data/app/views/site/not_found.html.haml +3 -0
  86. data/bin/ci/before_script +15 -0
  87. data/bin/trusty_cms +53 -0
  88. data/config/application.rb +124 -0
  89. data/config/boot.rb +9 -0
  90. data/config/compass.config +15 -0
  91. data/config/database.db2.yml +20 -0
  92. data/config/database.mysql.yml +25 -0
  93. data/config/database.postgresql.yml +25 -0
  94. data/config/database.sqlite.yml +16 -0
  95. data/config/database.sqlserver.yml +20 -0
  96. data/config/environment.rb +5 -0
  97. data/config/environments/development.rb +19 -0
  98. data/config/environments/production.rb +27 -0
  99. data/config/environments/test.rb +35 -0
  100. data/config/initializers/active_record_extensions.rb +1 -0
  101. data/config/initializers/configuration_extensions.rb +0 -0
  102. data/config/initializers/haml.rb +2 -0
  103. data/config/initializers/object_extensions.rb +1 -0
  104. data/config/initializers/radiant_config.rb +16 -0
  105. data/config/initializers/rails_patch.rb +2 -0
  106. data/config/initializers/response_cache_timeout.rb +3 -0
  107. data/config/initializers/string_extensions.rb +1 -0
  108. data/config/initializers/symbol_extensions.rb +1 -0
  109. data/config/initializers/tmp.rb +2 -0
  110. data/config/locales/en.yml +230 -0
  111. data/config/locales/en_available_tags.yml +625 -0
  112. data/config/preinitializer.rb +18 -0
  113. data/config/routes.rb +30 -0
  114. data/db/migrate/001_create_radiant_tables.rb +75 -0
  115. data/db/migrate/002_insert_initial_data.rb +12 -0
  116. data/db/migrate/003_rename_behavior_column.rb +9 -0
  117. data/db/migrate/004_rename_filter_column.rb +11 -0
  118. data/db/migrate/005_add_virtual_column_to_page.rb +9 -0
  119. data/db/migrate/006_integer_columns_to_boolean.rb +36 -0
  120. data/db/migrate/007_remove_virtual_column_from_page.rb +9 -0
  121. data/db/migrate/008_add_virtual_column_to_page_again.rb +9 -0
  122. data/db/migrate/009_add_content_type_field_to_layout.rb +9 -0
  123. data/db/migrate/010_merge_behaviors_and_pages.rb +57 -0
  124. data/db/migrate/011_rename_type_column_on_page_to_class_name.rb +9 -0
  125. data/db/migrate/012_create_extension_meta.rb +13 -0
  126. data/db/migrate/013_add_notes_field_to_user.rb +9 -0
  127. data/db/migrate/014_rename_config_default_parts_key.rb +17 -0
  128. data/db/migrate/015_add_optimistic_locking.rb +15 -0
  129. data/db/migrate/016_add_sessions.rb +16 -0
  130. data/db/migrate/017_rename_created_by_updated_by_columns.rb +15 -0
  131. data/db/migrate/018_add_description_and_keywords_to_pages.rb +11 -0
  132. data/db/migrate/019_add_salt_to_users.rb +11 -0
  133. data/db/migrate/020_add_session_info_to_users.rb +11 -0
  134. data/db/migrate/021_remove_session_expire_from_users.rb +9 -0
  135. data/db/migrate/20081203140407_add_indexes.rb +19 -0
  136. data/db/migrate/20090226140109_add_user_language.rb +9 -0
  137. data/db/migrate/20090929164633_rename_developer_role_to_designer.rb +9 -0
  138. data/db/migrate/20091003095744_change_user_language_to_locale.rb +9 -0
  139. data/db/migrate/20100805154952_add_page_fields.rb +15 -0
  140. data/db/migrate/20100805155020_convert_page_metas.rb +24 -0
  141. data/db/migrate/20100810151922_add_field_name_index.rb +11 -0
  142. data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +13 -0
  143. data/db/migrate/20111016150725_extend_page_part_content_limit.rb +15 -0
  144. data/db/migrate/20120209231801_change_pages_allowed_children_cache_to_text.rb +11 -0
  145. data/db/schema.rb +128 -0
  146. data/lib/active_record_extensions/active_record_extensions.rb +27 -0
  147. data/lib/annotatable.rb +68 -0
  148. data/lib/configuration_extensions/configuration_extensions.rb +357 -0
  149. data/lib/generators/extension/USAGE +30 -0
  150. data/lib/generators/extension/extension_generator.rb +97 -0
  151. data/lib/generators/extension/templates/README.md +6 -0
  152. data/lib/generators/extension/templates/RSpecRakefile +109 -0
  153. data/lib/generators/extension/templates/Rakefile +25 -0
  154. data/lib/generators/extension/templates/cucumber.yml +1 -0
  155. data/lib/generators/extension/templates/cucumber_env.rb +11 -0
  156. data/lib/generators/extension/templates/cucumber_paths.rb +22 -0
  157. data/lib/generators/extension/templates/en.yml +3 -0
  158. data/lib/generators/extension/templates/extension.rb +21 -0
  159. data/lib/generators/extension/templates/functional_test.rb +15 -0
  160. data/lib/generators/extension/templates/gemspec.rb +29 -0
  161. data/lib/generators/extension/templates/lib.rb +8 -0
  162. data/lib/generators/extension/templates/migration.rb +9 -0
  163. data/lib/generators/extension/templates/radiant_config.rb +3 -0
  164. data/lib/generators/extension/templates/routes.rb +5 -0
  165. data/lib/generators/extension/templates/spec.opts +6 -0
  166. data/lib/generators/extension/templates/spec_helper.rb +42 -0
  167. data/lib/generators/extension/templates/tasks.rake +47 -0
  168. data/lib/generators/extension/templates/test_helper.rb +26 -0
  169. data/lib/generators/extension_controller/USAGE +36 -0
  170. data/lib/generators/extension_controller/extension_controller_generator.rb +84 -0
  171. data/lib/generators/extension_controller/templates/controller.rb +10 -0
  172. data/lib/generators/extension_controller/templates/controller_spec.rb +23 -0
  173. data/lib/generators/extension_controller/templates/functional_test.rb +11 -0
  174. data/lib/generators/extension_controller/templates/helper.rb +2 -0
  175. data/lib/generators/extension_controller/templates/helper_spec.rb +11 -0
  176. data/lib/generators/extension_controller/templates/helper_test.rb +4 -0
  177. data/lib/generators/extension_controller/templates/view.html.erb +2 -0
  178. data/lib/generators/extension_controller/templates/view_spec.rb +12 -0
  179. data/lib/generators/extension_mailer/USAGE +17 -0
  180. data/lib/generators/extension_mailer/extension_mailer_generator.rb +68 -0
  181. data/lib/generators/extension_mailer/templates/fixture.erb +3 -0
  182. data/lib/generators/extension_mailer/templates/mailer.rb +15 -0
  183. data/lib/generators/extension_mailer/templates/unit_test.rb +21 -0
  184. data/lib/generators/extension_mailer/templates/view.erb +3 -0
  185. data/lib/generators/extension_migration/USAGE +34 -0
  186. data/lib/generators/extension_migration/extension_migration_generator.rb +25 -0
  187. data/lib/generators/extension_migration/templates/migration.rb +11 -0
  188. data/lib/generators/extension_model/USAGE +35 -0
  189. data/lib/generators/extension_model/extension_model_generator.rb +68 -0
  190. data/lib/generators/extension_model/templates/fixtures.yml +19 -0
  191. data/lib/generators/extension_model/templates/migration.rb +16 -0
  192. data/lib/generators/extension_model/templates/model.rb +2 -0
  193. data/lib/generators/extension_model/templates/model_spec.rb +11 -0
  194. data/lib/generators/extension_model/templates/unit_test.rb +8 -0
  195. data/lib/generators/generator_base_extension.rb +16 -0
  196. data/lib/generators/instance/instance_generator.rb +148 -0
  197. data/lib/generators/instance/templates/databases/db2.yml +40 -0
  198. data/lib/generators/instance/templates/databases/mysql.yml +47 -0
  199. data/lib/generators/instance/templates/databases/postgresql.yml +44 -0
  200. data/lib/generators/instance/templates/databases/sqlite3.yml +16 -0
  201. data/lib/generators/instance/templates/databases/sqlserver.yml +21 -0
  202. data/lib/generators/instance/templates/instance_boot.rb +122 -0
  203. data/lib/generators/instance/templates/instance_config.ru +2 -0
  204. data/lib/generators/instance/templates/instance_environment.rb +83 -0
  205. data/lib/generators/instance/templates/instance_gemfile +81 -0
  206. data/lib/generators/instance/templates/instance_generate +6 -0
  207. data/lib/generators/instance/templates/instance_radiant_config.rb +16 -0
  208. data/lib/generators/instance/templates/instance_rakefile +3 -0
  209. data/lib/generators/instance/templates/instance_routes.rb +1 -0
  210. data/lib/generators/language_extension/USAGE +27 -0
  211. data/lib/generators/language_extension/language_extension_generator.rb +71 -0
  212. data/lib/generators/language_extension/templates/README +3 -0
  213. data/lib/generators/language_extension/templates/RSpecRakefile +123 -0
  214. data/lib/generators/language_extension/templates/Rakefile +25 -0
  215. data/lib/generators/language_extension/templates/available_tags.yml +553 -0
  216. data/lib/generators/language_extension/templates/cucumber.yml +1 -0
  217. data/lib/generators/language_extension/templates/cucumber_env.rb +16 -0
  218. data/lib/generators/language_extension/templates/cucumber_paths.rb +14 -0
  219. data/lib/generators/language_extension/templates/extension.rb +12 -0
  220. data/lib/generators/language_extension/templates/functional_test.rb +15 -0
  221. data/lib/generators/language_extension/templates/gemspec.rb +24 -0
  222. data/lib/generators/language_extension/templates/lang.yml +181 -0
  223. data/lib/generators/language_extension/templates/lib.rb +8 -0
  224. data/lib/generators/language_extension/templates/spec.opts +6 -0
  225. data/lib/generators/language_extension/templates/spec_helper.rb +36 -0
  226. data/lib/generators/language_extension/templates/tasks.rake +28 -0
  227. data/lib/generators/language_extension/templates/test_helper.rb +26 -0
  228. data/lib/inheritable_class_attributes.rb +65 -0
  229. data/lib/local_time.rb +6 -0
  230. data/lib/login_system.rb +132 -0
  231. data/lib/method_observer.rb +50 -0
  232. data/lib/object_extensions/object_extensions.rb +5 -0
  233. data/lib/simpleton.rb +21 -0
  234. data/lib/string_extensions/string_extensions.rb +25 -0
  235. data/lib/symbol_extensions/symbol_extensions.rb +5 -0
  236. data/lib/tasks/database.rake +85 -0
  237. data/lib/tasks/environments.rake +11 -0
  238. data/lib/tasks/extensions.rake +85 -0
  239. data/lib/tasks/framework.rake +255 -0
  240. data/lib/tasks/instance.rake +23 -0
  241. data/lib/tasks/prototype.rake +31 -0
  242. data/lib/tasks/radiant_config.rake +18 -0
  243. data/lib/tasks/release.rake +131 -0
  244. data/lib/tasks/translate.rake +59 -0
  245. data/lib/tasks/undefine.rake +28 -0
  246. data/lib/translation_support.rb +54 -0
  247. data/lib/trusty_cms/admin_ui/region_partials.rb +23 -0
  248. data/lib/trusty_cms/admin_ui/region_set.rb +35 -0
  249. data/lib/trusty_cms/admin_ui.rb +244 -0
  250. data/lib/trusty_cms/available_locales.rb +19 -0
  251. data/lib/trusty_cms/cache.rb +100 -0
  252. data/lib/trusty_cms/config/definition.rb +142 -0
  253. data/lib/trusty_cms/engine.rb +10 -0
  254. data/lib/trusty_cms/extension/script.rb +395 -0
  255. data/lib/trusty_cms/extension.rb +146 -0
  256. data/lib/trusty_cms/extension_loader.rb +130 -0
  257. data/lib/trusty_cms/extension_migrator.rb +98 -0
  258. data/lib/trusty_cms/extension_path.rb +200 -0
  259. data/lib/trusty_cms/initializer.rb +162 -0
  260. data/lib/trusty_cms/pagination/controller.rb +41 -0
  261. data/lib/trusty_cms/pagination/link_renderer.rb +34 -0
  262. data/lib/trusty_cms/resource_responses.rb +121 -0
  263. data/lib/trusty_cms/setup.rb +227 -0
  264. data/lib/trusty_cms/taggable.rb +138 -0
  265. data/lib/trusty_cms/task_support.rb +66 -0
  266. data/lib/trusty_cms.rb +19 -0
  267. data/log/.keep +0 -0
  268. data/public/.htaccess +40 -0
  269. data/public/404.html +8 -0
  270. data/public/500.html +8 -0
  271. data/public/dispatch.cgi +10 -0
  272. data/public/dispatch.fcgi +24 -0
  273. data/public/dispatch.rb +10 -0
  274. data/public/favicon.ico +0 -0
  275. data/public/images/admin/add_tab.png +0 -0
  276. data/public/images/admin/avatar_32x32.png +0 -0
  277. data/public/images/admin/avatar_64x64.png +0 -0
  278. data/public/images/admin/avatar_96x96.png +0 -0
  279. data/public/images/admin/brown_bottom_line.gif +0 -0
  280. data/public/images/admin/calendar_down.gif +0 -0
  281. data/public/images/admin/collapse.png +0 -0
  282. data/public/images/admin/draft_page.png +0 -0
  283. data/public/images/admin/expand.png +0 -0
  284. data/public/images/admin/image.png +0 -0
  285. data/public/images/admin/javascript.png +0 -0
  286. data/public/images/admin/layout.png +0 -0
  287. data/public/images/admin/metadata_toggle.png +0 -0
  288. data/public/images/admin/minus.png +0 -0
  289. data/public/images/admin/minus_disabled.png +0 -0
  290. data/public/images/admin/minus_grey.png +0 -0
  291. data/public/images/admin/navigation_secondary_separator.gif +0 -0
  292. data/public/images/admin/page.png +0 -0
  293. data/public/images/admin/plus.png +0 -0
  294. data/public/images/admin/plus_disabled.png +0 -0
  295. data/public/images/admin/plus_grey.png +0 -0
  296. data/public/images/admin/popup_border_background.png +0 -0
  297. data/public/images/admin/popup_border_bottom_left.png +0 -0
  298. data/public/images/admin/popup_border_bottom_right.png +0 -0
  299. data/public/images/admin/popup_border_top_left.png +0 -0
  300. data/public/images/admin/popup_border_top_right.png +0 -0
  301. data/public/images/admin/search.png +0 -0
  302. data/public/images/admin/single_form_shadow.png +0 -0
  303. data/public/images/admin/snippet.png +0 -0
  304. data/public/images/admin/spinner.gif +0 -0
  305. data/public/images/admin/status_background.png +0 -0
  306. data/public/images/admin/status_bottom_left.png +0 -0
  307. data/public/images/admin/status_bottom_right.png +0 -0
  308. data/public/images/admin/status_spinner.gif +0 -0
  309. data/public/images/admin/status_top_left.png +0 -0
  310. data/public/images/admin/status_top_right.png +0 -0
  311. data/public/images/admin/stylesheet.png +0 -0
  312. data/public/images/admin/tab_close.png +0 -0
  313. data/public/images/admin/upload.png +0 -0
  314. data/public/images/admin/virtual_page.png +0 -0
  315. data/public/images/radiant/radiant-badge-color.png +0 -0
  316. data/public/javascripts/admin/application.js +94 -0
  317. data/public/javascripts/admin/codearea.js +165 -0
  318. data/public/javascripts/admin/controls.js +965 -0
  319. data/public/javascripts/admin/cookie.js +80 -0
  320. data/public/javascripts/admin/dateinput.js +402 -0
  321. data/public/javascripts/admin/dragdrop.js +974 -0
  322. data/public/javascripts/admin/dropdown.js +216 -0
  323. data/public/javascripts/admin/effects.js +1122 -0
  324. data/public/javascripts/admin/lowpro.js +340 -0
  325. data/public/javascripts/admin/overrides.js +1 -0
  326. data/public/javascripts/admin/page_preview.js +41 -0
  327. data/public/javascripts/admin/pagefield.js +54 -0
  328. data/public/javascripts/admin/pagestatus.js +17 -0
  329. data/public/javascripts/admin/popup.js +339 -0
  330. data/public/javascripts/admin/prototype.js +4874 -0
  331. data/public/javascripts/admin/ruledtable.js +13 -0
  332. data/public/javascripts/admin/shortcuts.js +33 -0
  333. data/public/javascripts/admin/sitemap.js +149 -0
  334. data/public/javascripts/admin/status.js +233 -0
  335. data/public/javascripts/admin/tabcontrol.js +123 -0
  336. data/public/javascripts/admin/toggle.js +430 -0
  337. data/public/javascripts/admin/utility.js +53 -0
  338. data/public/javascripts/admin/validationerror.js +18 -0
  339. data/public/loading-iframe.html +11 -0
  340. data/public/robots.txt +1 -0
  341. data/public/stylesheets/sass/admin/_base.sass +18 -0
  342. data/public/stylesheets/sass/admin/main.sass +27 -0
  343. data/public/stylesheets/sass/admin/modules/_boxes.sass +6 -0
  344. data/public/stylesheets/sass/admin/modules/_gradients.sass +4 -0
  345. data/public/stylesheets/sass/admin/modules/_links.sass +18 -0
  346. data/public/stylesheets/sass/admin/overrides.sass +2 -0
  347. data/public/stylesheets/sass/admin/partials/_actions.sass +96 -0
  348. data/public/stylesheets/sass/admin/partials/_avatars.sass +10 -0
  349. data/public/stylesheets/sass/admin/partials/_content.sass +58 -0
  350. data/public/stylesheets/sass/admin/partials/_dateinput.sass +62 -0
  351. data/public/stylesheets/sass/admin/partials/_deprecated.sass +55 -0
  352. data/public/stylesheets/sass/admin/partials/_dropdown.sass +28 -0
  353. data/public/stylesheets/sass/admin/partials/_footer.sass +12 -0
  354. data/public/stylesheets/sass/admin/partials/_forms.sass +322 -0
  355. data/public/stylesheets/sass/admin/partials/_header.sass +114 -0
  356. data/public/stylesheets/sass/admin/partials/_index.sass +147 -0
  357. data/public/stylesheets/sass/admin/partials/_layout.sass +10 -0
  358. data/public/stylesheets/sass/admin/partials/_messages.sass +10 -0
  359. data/public/stylesheets/sass/admin/partials/_popup.sass +213 -0
  360. data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +72 -0
  361. data/public/stylesheets/sass/admin/partials/_toolbar.sass +31 -0
  362. data/public/stylesheets/sass/admin/partials/_typography.sass +60 -0
  363. data/public/stylesheets/sass/admin/partials/_validations.sass +19 -0
  364. data/rails/init.rb +1 -0
  365. data/script/about +4 -0
  366. data/script/breakpointer +3 -0
  367. data/script/console +3 -0
  368. data/script/dbconsole +3 -0
  369. data/script/destroy +3 -0
  370. data/script/extension +5 -0
  371. data/script/generate +3 -0
  372. data/script/performance/benchmarker +3 -0
  373. data/script/performance/profiler +3 -0
  374. data/script/performance/request +3 -0
  375. data/script/plugin +3 -0
  376. data/script/process/inspector +3 -0
  377. data/script/process/reaper +3 -0
  378. data/script/process/spawner +3 -0
  379. data/script/process/spinner +3 -0
  380. data/script/rails +6 -0
  381. data/script/runner +3 -0
  382. data/script/server +3 -0
  383. data/script/version +5 -0
  384. data/spec/ci/database.mysql.yml +4 -0
  385. data/spec/ci/database.postgresql.yml +4 -0
  386. data/spec/ci/database.sqlite.yml +3 -0
  387. data/trusty_cms.gemspec +50 -0
  388. metadata +781 -0
data/CONTRIBUTORS.md ADDED
@@ -0,0 +1,263 @@
1
+ # Contributors
2
+
3
+ The following people have submitted changes which have been applied to the
4
+ core:
5
+
6
+ ## Edge
7
+
8
+ * Jim Gay
9
+ * Sam Whited
10
+ * Johannes Fahrenkrug
11
+
12
+ ## 1.0.0
13
+
14
+ * Jeff Casimir
15
+ * Mario Visic
16
+ * Mark Reginald James
17
+ * Andrew O'Brian
18
+ * Dirk Kelly
19
+ * Oriol Gual
20
+ * Petrik de Heus
21
+ * Gert Goet
22
+ * Jim Gay
23
+ * Josh French
24
+ * Andrew vonderLuft
25
+ * William Ross
26
+ * John Muhl
27
+ * Johannes Fahrenkrug
28
+ * Benny Degezelle
29
+ * Jason Taylor
30
+ * Wes Gamble
31
+ * Michael Stalker
32
+ * Chris Parrish
33
+ * John W. Long
34
+ * Edmund Haselwanter
35
+ * Michal Cichra
36
+ * Jason Garber
37
+ * Samuel Whited
38
+ * vanderhoorn
39
+ * Sean Cribbs
40
+
41
+ ## 0.9.1 Refraction
42
+
43
+ * Jim Gay
44
+
45
+ ## 0.9.0 Refraction
46
+
47
+ * Mario Visic
48
+ * Andrew Cates
49
+ * Janne Asmala
50
+ * Keith Bingman
51
+ * Dirk Kelly
52
+ * Anna billstrom
53
+ * William Ross
54
+ * M. Scott Ford
55
+ * Josh French
56
+ * Travis D. Warlick, Jr.
57
+ * Jason Garber
58
+ * Chris Ricca
59
+ * Jim Gay
60
+ * John Muhl
61
+ * Ben Morrow
62
+ * Sean Cribbs
63
+ * Brandon Mathis
64
+ * Daniel Beach
65
+ * Chris Parrish
66
+ * John Long
67
+
68
+ ## 0.8.2 Lustery
69
+
70
+ * Jim Gay
71
+
72
+ ## 0.8.1 Luster
73
+
74
+ * John Long
75
+ * Sean Cribbs
76
+ * Antonio Cangiano
77
+ * alexmek
78
+ * Jeremy Stephens
79
+ * John Muhl
80
+ * Alex Wallace
81
+ * Justin Blecher
82
+ * Kunal Shah
83
+ * Jim Gay
84
+ * Josh French
85
+
86
+ ## 0.8.0 Asterism
87
+
88
+ * Michael Kessler
89
+ * David Cato
90
+ * Kunal Shah
91
+ * Brett McHargue
92
+ * Jim Gay
93
+ * Kunal Shah
94
+ * Matt Henry
95
+ * Rick DeNatale
96
+ * Jason Garber
97
+ * Pat Allan
98
+ * Josh French
99
+ * Brent Kroeker
100
+ * Sean Cribbs
101
+
102
+ ## 0.7.2 Engravings
103
+
104
+ * Andrew vonderLuft
105
+
106
+ ## 0.7.1 Engraving
107
+
108
+ * John Muhl
109
+ * Sean Cribbs
110
+
111
+ ## 0.7.0 Intaglio
112
+
113
+ * Paul du Coudray
114
+ * Nikolay Karev
115
+ * August Lilleas
116
+ * Brandan Lennox
117
+ * Jeroen Janssen
118
+ * Erik Ostrom
119
+ * Nathaniel Talbott
120
+ * Yevgeny Smirnoff
121
+ * Sytse Sijbrandij
122
+ * Brian Landau
123
+ * Adam Williams
124
+ * Mark Imbriaco
125
+ * Rick DeNatale
126
+ * Clinton Nixon
127
+ * John Muhl
128
+ * Andrew O'Brien
129
+ * Joe Van Dyk
130
+ * Pat Allan
131
+ * Matt Henry
132
+ * Keith Bennett
133
+ * Thomas Ingram
134
+ * Josh French
135
+ * Jason Garber
136
+ * Mislav Marohnić
137
+ * Jim Gay
138
+ * Sean Cribbs
139
+
140
+ ## 0.6.9 Etch
141
+
142
+ * Mark A. Yoon
143
+ * Jim Gay
144
+ * Sean Cribbs
145
+
146
+ ## 0.6.8 Incise
147
+
148
+ * Andrew Neil
149
+ * Glenn Murray
150
+ * Tim Gossett
151
+ * John Muhl
152
+ * Josh French
153
+ * Jim Gay
154
+ * Alex Wayne
155
+ * Nick Plante
156
+ * Loren Johnson
157
+ * Sean Cribbs
158
+ * Thomas Watson Steen
159
+
160
+ ## 0.6.7 Mordant
161
+
162
+ * John Long
163
+ * Josh French
164
+ * Sean Cribbs
165
+
166
+ ## 0.6.6 Chiseled
167
+
168
+ * Josh French
169
+ * Sean Cribbs
170
+
171
+ ## 0.6.5 Chisel
172
+
173
+ * Adam Keyes
174
+ * Marty Haught
175
+ * xtoddx
176
+ * skrat
177
+ * Michael Klett
178
+ * Matthew Elder
179
+ * Nick Plante
180
+ * ben
181
+ * jonleighton
182
+ * Josh French
183
+ * abstractioneer
184
+ * andreas
185
+ * Keeran Hawoldar
186
+ * Loren Johnson
187
+ * Benny Degezelle
188
+ * John Long
189
+ * Andrew O'Brien
190
+ * Bjørn Arild Mæland
191
+ * Mislav Marohnić
192
+ * Daniel Sheppard
193
+ * Sean Cribbs
194
+
195
+ ## 0.6.4 Gem Shaper
196
+
197
+ * Andrew Neil
198
+ * zilkey
199
+ * Mark Gallop
200
+ * Bjørn Arild Mæland
201
+ * ana
202
+ * Bodhi Philpot
203
+ * jay@jay.fm
204
+ * Brian Skahan
205
+ * Mislav Marohnić
206
+ * Daniel Sheppard
207
+ * John Long
208
+ * Peter Berkenbosch
209
+ * Sean Cribbs
210
+
211
+ ## 0.6.3 Rock Grinder
212
+
213
+ * oli
214
+ * Daniel Sheppard
215
+ * vitali
216
+ * tolbrino
217
+ * Sean Cribbs
218
+ * Earl Chew
219
+ * John Long
220
+
221
+ ## 0.6.2 Jewel Carver
222
+
223
+ * Sean Cribbs
224
+ * Daniel Sheppard
225
+ * Keita
226
+
227
+ ## 0.6.1 Stone Cutter
228
+
229
+ * Sean Cribbs
230
+ * Daniel Sheppard
231
+
232
+ ## 0.6.0 Lapidary
233
+
234
+ * Alexander Horn
235
+ * Adam Williams
236
+ * Sean Santry
237
+ * Sean Cribbs
238
+ * Brian Gernhardt
239
+ * Bodhi Philpot
240
+ * Andrew Barnett
241
+ * Jesse Newland
242
+ * Josh Ferguson
243
+ * Daniel Sheppard
244
+ * Matte Edens
245
+ * Jacob Burkhart
246
+ * Chris Parrish
247
+
248
+ ## 0.5.1 Gemdust
249
+
250
+ * Daniel Sheppard
251
+ * Paul Smith
252
+ * Bodhi Philpot
253
+
254
+ ## 0.5.0 Grindstone
255
+
256
+ * Matt McCray
257
+ * Paul Smith
258
+ * Scott Walter
259
+ * Sven Lauer
260
+ * Tristan Boniver
261
+ * Chris Corriveau
262
+ * Ryan Platte
263
+ * Luis Lavena
data/Gemfile ADDED
@@ -0,0 +1,40 @@
1
+
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # This is the minimum of dependency required to run
6
+ # the radiant instance generator, which is (normally)
7
+ # the only time the radiant gem functions as an
8
+ # application. The instance has its own Gemfile, which
9
+ # requires radiant and therefore pulls in every
10
+ # dependency mentioned in radiant.gemspec.
11
+
12
+ gem "rails", "3.2.18"
13
+ gem "mysql"
14
+ gemspec
15
+
16
+ # When radiant is installed as a gem you can run all of
17
+ # its tests and specs from an instance. If you're working
18
+ # on radiant itself and you want to run specs from the
19
+ # radiant root directory, uncomment the lines below and
20
+ # run `bundle install`.
21
+
22
+ # gemspec
23
+ # gem "compass-rails", "~> 1.0.3"
24
+
25
+ # gem "radiant-archive-extension", "~> 1.0.7"
26
+ # gem "radiant-clipped-extension", "~> 1.1.0"
27
+ # gem "radiant-debug-extension", "~> 1.0.2"
28
+ # gem "radiant-exporter-extension", "~> 1.1.0"
29
+ # gem "radiant-markdown_filter-extension", "~> 1.0.2"
30
+ # gem "radiant-sheets-extension", "~> 1.1.0.alpha"
31
+ # gem "radiant-snippets-extension", "~> 1.1.0.alpha"
32
+ # gem "radiant-site_templates-extension", "~> 1.0.4"
33
+ # gem "radiant-smarty_pants_filter-extension", "~> 1.0.2"
34
+ # gem "radiant-textile_filter-extension", "~> 1.0.4"
35
+
36
+ if ENV['TRAVIS']
37
+ gemspec :development_group => :test
38
+ gem "mysql"
39
+ gem "pg"
40
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,177 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ trusty-cms (1.1.4)
5
+ RedCloth (~> 4.2.0)
6
+ acts_as_tree (~> 0.1.1)
7
+ bundler (>= 1.0.0)
8
+ compass (~> 0.12.2)
9
+ compass-rails (~> 1.0.3)
10
+ delocalize (~> 0.2.3)
11
+ haml (~> 3.1.1)
12
+ highline (~> 1.6.10)
13
+ rack (~> 1.4.5)
14
+ rack-cache (~> 1.2)
15
+ radius (~> 0.7.3)
16
+ rails (~> 3.2.18)
17
+ rake (>= 0.8.7)
18
+ rdoc (~> 3.9)
19
+ stringex (~> 1.3.0)
20
+ tzinfo (~> 0.3.31)
21
+ will_paginate (~> 3.0)
22
+
23
+ GEM
24
+ remote: https://rubygems.org/
25
+ specs:
26
+ RedCloth (4.2.9)
27
+ RedCloth (4.2.9-java)
28
+ actionmailer (3.2.18)
29
+ actionpack (= 3.2.18)
30
+ mail (~> 2.5.4)
31
+ actionpack (3.2.18)
32
+ activemodel (= 3.2.18)
33
+ activesupport (= 3.2.18)
34
+ builder (~> 3.0.0)
35
+ erubis (~> 2.7.0)
36
+ journey (~> 1.0.4)
37
+ rack (~> 1.4.5)
38
+ rack-cache (~> 1.2)
39
+ rack-test (~> 0.6.1)
40
+ sprockets (~> 2.2.1)
41
+ activemodel (3.2.18)
42
+ activesupport (= 3.2.18)
43
+ builder (~> 3.0.0)
44
+ activerecord (3.2.18)
45
+ activemodel (= 3.2.18)
46
+ activesupport (= 3.2.18)
47
+ arel (~> 3.0.2)
48
+ tzinfo (~> 0.3.29)
49
+ activeresource (3.2.18)
50
+ activemodel (= 3.2.18)
51
+ activesupport (= 3.2.18)
52
+ activesupport (3.2.18)
53
+ i18n (~> 0.6, >= 0.6.4)
54
+ multi_json (~> 1.0)
55
+ acts_as_tree (0.1.1)
56
+ arel (3.0.3)
57
+ builder (3.0.4)
58
+ capybara (2.2.1)
59
+ mime-types (>= 1.16)
60
+ nokogiri (>= 1.3.3)
61
+ rack (>= 1.0.0)
62
+ rack-test (>= 0.5.4)
63
+ xpath (~> 2.0)
64
+ chunky_png (1.3.1)
65
+ compass (0.12.6)
66
+ chunky_png (~> 1.2)
67
+ fssm (>= 0.2.7)
68
+ sass (~> 3.2.19)
69
+ compass-rails (1.0.3)
70
+ compass (>= 0.12.2, < 0.14)
71
+ cucumber (1.3.15)
72
+ builder (>= 2.1.2)
73
+ diff-lcs (>= 1.1.3)
74
+ gherkin (~> 2.12)
75
+ multi_json (>= 1.7.5, < 2.0)
76
+ multi_test (>= 0.1.1)
77
+ cucumber-rails (1.4.1)
78
+ capybara (>= 1.1.2, < 3)
79
+ cucumber (>= 1.3.8, < 2)
80
+ mime-types (~> 1.16)
81
+ nokogiri (~> 1.5)
82
+ rails (>= 3, < 5)
83
+ database_cleaner (0.6.7)
84
+ delocalize (0.2.6)
85
+ diff-lcs (1.2.5)
86
+ erubis (2.7.0)
87
+ fssm (0.2.10)
88
+ gherkin (2.12.2)
89
+ multi_json (~> 1.3)
90
+ gherkin (2.12.2-java)
91
+ multi_json (~> 1.3)
92
+ haml (3.1.8)
93
+ highline (1.6.21)
94
+ hike (1.2.3)
95
+ i18n (0.6.9)
96
+ journey (1.0.4)
97
+ json (1.8.1)
98
+ json (1.8.1-java)
99
+ mail (2.5.4)
100
+ mime-types (~> 1.16)
101
+ treetop (~> 1.4.8)
102
+ mime-types (1.25.1)
103
+ multi_json (1.10.0)
104
+ multi_test (0.1.1)
105
+ mysql (2.9.1)
106
+ nokogiri (1.5.11)
107
+ nokogiri (1.5.11-java)
108
+ polyglot (0.3.4)
109
+ rack (1.4.5)
110
+ rack-cache (1.2)
111
+ rack (>= 0.4)
112
+ rack-ssl (1.3.4)
113
+ rack
114
+ rack-test (0.6.2)
115
+ rack (>= 1.0)
116
+ radius (0.7.4)
117
+ rails (3.2.18)
118
+ actionmailer (= 3.2.18)
119
+ actionpack (= 3.2.18)
120
+ activerecord (= 3.2.18)
121
+ activeresource (= 3.2.18)
122
+ activesupport (= 3.2.18)
123
+ bundler (~> 1.0)
124
+ railties (= 3.2.18)
125
+ railties (3.2.18)
126
+ actionpack (= 3.2.18)
127
+ activesupport (= 3.2.18)
128
+ rack-ssl (~> 1.3.2)
129
+ rake (>= 0.8.7)
130
+ rdoc (~> 3.4)
131
+ thor (>= 0.14.6, < 2.0)
132
+ rake (10.3.1)
133
+ rdoc (3.12.2)
134
+ json (~> 1.4)
135
+ rspec-core (2.14.8)
136
+ rspec-expectations (2.14.5)
137
+ diff-lcs (>= 1.1.3, < 2.0)
138
+ rspec-mocks (2.14.6)
139
+ rspec-rails (2.14.2)
140
+ actionpack (>= 3.0)
141
+ activemodel (>= 3.0)
142
+ activesupport (>= 3.0)
143
+ railties (>= 3.0)
144
+ rspec-core (~> 2.14.0)
145
+ rspec-expectations (~> 2.14.0)
146
+ rspec-mocks (~> 2.14.0)
147
+ sass (3.2.19)
148
+ sprockets (2.2.2)
149
+ hike (~> 1.2)
150
+ multi_json (~> 1.0)
151
+ rack (~> 1.0)
152
+ tilt (~> 1.1, != 1.3.0)
153
+ stringex (1.3.3)
154
+ test-unit (2.5.5)
155
+ thor (0.19.1)
156
+ tilt (1.4.1)
157
+ treetop (1.4.15)
158
+ polyglot
159
+ polyglot (>= 0.3.1)
160
+ tzinfo (0.3.39)
161
+ will_paginate (3.0.5)
162
+ xpath (2.0.0)
163
+ nokogiri (~> 1.3)
164
+
165
+ PLATFORMS
166
+ java
167
+ ruby
168
+
169
+ DEPENDENCIES
170
+ cucumber-rails (~> 1.4.1)
171
+ database_cleaner (~> 0.6.5)
172
+ mysql
173
+ nokogiri (~> 1.5.10)
174
+ rails (= 3.2.18)
175
+ rspec-rails (~> 2.14.2)
176
+ test-unit (~> 2.5.5)
177
+ trusty-cms!
data/INSTALL.md ADDED
@@ -0,0 +1,10 @@
1
+ # Installation and Setup
2
+
3
+ From within the directory containing your TrustyCms instance:
4
+
5
+ 1. Decide which database you want to use. SQLite is configured by default and
6
+ the easiest way to get started. If you want to use another database:
7
+ - Enable your preferred database adapter in the Gemfile
8
+ - Run `bundle update`
9
+
10
+ 2. Run `bundle exec rake production db:bootstrap` to initialize the database
data/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ # MIT License
2
+
3
+ Copyright (c) 2006-2009, John W. Long and Sean D. Cribbs.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,85 @@
1
+ ## Welcome to TrustyCMS
2
+
3
+ Trusty is a branch of the venerable TrustyCms CMS. Its goal is to pull the TrustyCms framework into Rails 3 with minimal changes to its infrastructure. Everything below this is from the TrustyCms readme.
4
+
5
+ TrustyCms is a no-fluff, open source content management system designed for
6
+ small teams. It is similar to Textpattern or MovableType, but is a general
7
+ purpose content management system (not just a blogging engine).
8
+
9
+ [![Build Status](https://secure.travis-ci.org/pgharts/trusty-cms.png?branch=master)](https://travis-ci.org/pgharts/trusty-cms/)
10
+
11
+ TrustyCms features:
12
+
13
+ * An elegant user interface
14
+ * The ability to arrange pages in a hierarchy
15
+ * Flexible templating with layouts, snippets, page parts, and a custom tagging
16
+ language (Radius: http://radius.rubyforge.org)
17
+ * A simple user management/permissions system
18
+ * Support for Markdown and Textile as well as traditional HTML (it's easy to
19
+ create other filters)
20
+ * An advanced plugin system
21
+ * Operates in two modes: dev and production depending on the URL
22
+ * A caching system which expires pages every 5 minutes
23
+ * Built using Ruby on Rails
24
+ * And much more...
25
+
26
+ ## License
27
+
28
+ TrustyCms is released under the MIT license. The Radiant portions of the
29
+ codebase are copyright (c) John W. Long and Sean Cribbs; anything after the
30
+ fork is copyright (c) Pittsburgh Cultural Trust. A copy of the MIT license can
31
+ be found in the LICENSE file.
32
+
33
+ ## Installation and Setup for Use
34
+
35
+ TrustyCms is a traditional Ruby on Rails application, meaning that you can
36
+ configure and run it the way you would a normal Rails application.
37
+
38
+ See the INSTALL file for more details.
39
+
40
+ ### Installation and Setup for Contributing to TrustyCms
41
+
42
+ Prerequisites:
43
+
44
+ * A github account and Git ([Github has some really good instructons](https://help.github.com/articles/set-up-git))
45
+ * Ruby 1.9.3
46
+ * The bundler gem
47
+ * Mysql
48
+
49
+ 1. Fork this repository to your github account.
50
+ 1. Clone your fork to your machine.
51
+ 1. Install the gems with bundler: `bundle`
52
+ 1. Create a database configuration: `cp config/database.mysql.yml config/database.yml`. You probably don't need to make any further changes.
53
+ 1. Set up your database:
54
+
55
+ bundle exec rake db:create
56
+ bundle exec rake db:migrate
57
+ bundle exec rake db:migrate:extensions
58
+ 1. Run the tests to make sure they pass (If they don't, file a bug!):
59
+
60
+
61
+ When you're ready to make a change:
62
+
63
+ 1. Add the pgharts fork as a git remote called "upstream": `git remote add upstream https://github.com/pgharts/trusty-cms.git` so that you can keep up with changes that other people make.
64
+ 1. Fetch the remote you just added: `git fetch upstream`
65
+ 1. Start a new branch for the change you're going to make. Name it something having to do with the changes, like "fix-queries" if you are going to try to fix some queries. Base this branch on `upstream/master` by running `git checkout -b fix-queries upstream/master`
66
+ 1. Make your changes and commit them.
67
+ 1. Push your changes to your github fork: `git push origin fix-queries`
68
+ 1. Send a pull request to the pgharts fork
69
+ 1. High five the nearest person!
70
+
71
+
72
+ ## Support
73
+
74
+ The best place to get support is on the Pittsburgh Ruby mailing list:
75
+
76
+ https://groups.google.com/forum/#!forum/rubypgh
77
+
78
+ Most of the development for TrustyCms happens on Github:
79
+
80
+ https://github.com/pgharts/trusty-cms
81
+
82
+ Enjoy!
83
+
84
+ --
85
+ The TrustyCms Dev Team
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env rake
2
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
3
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
+
5
+ require File.expand_path('../config/application', __FILE__)
6
+ STDOUT.sync = true
7
+ TrustyCms::Application.load_tasks
@@ -0,0 +1,50 @@
1
+ class Admin::ConfigurationController < ApplicationController
2
+
3
+ # Admin::ConfigurationController handles the batch-updating of TrustyCms::Config entries.
4
+ # It accepts any set of config name-value pairs but is accessible only to administrators.
5
+ # Note that configuration is routed as a singular resource so we only deal with show/edit/update
6
+ # and the show and edit views determine what set of config values is shown and made editable.
7
+
8
+ before_filter :initialize_config
9
+
10
+ only_allow_access_to :edit, :update,
11
+ :when => [:admin],
12
+ :denied_url => { :controller => 'admin/configuration', :action => 'show' },
13
+ :denied_message => 'You must have admin privileges to edit site configuration.'
14
+
15
+ def show
16
+ @user = current_user
17
+ render
18
+ end
19
+
20
+ def edit
21
+ render
22
+ end
23
+
24
+ def update
25
+ if params[:config]
26
+ begin
27
+ TrustyCms.config.transaction do
28
+ params["config"].each_pair do |key, value|
29
+ @trusty_config[key] = TrustyCms::Config.find_or_create_by_key(key)
30
+ @trusty_config[key].value = value # validation sets errors on @trusty_config['key'] that the helper methods will pick up
31
+ end
32
+ redirect_to :action => :show
33
+ end
34
+ rescue ActiveRecord::RecordInvalid => e
35
+ flash[:error] = "Configuration error: please check the form"
36
+ render :action => :edit
37
+ rescue TrustyCms::Config::ConfigError => e
38
+ flash[:error] = "Configuration error: #{e}"
39
+ render :action => :edit
40
+ end
41
+ end
42
+ end
43
+
44
+ protected
45
+
46
+ def initialize_config
47
+ @trusty_config = {}
48
+ end
49
+
50
+ end
@@ -0,0 +1,11 @@
1
+ class Admin::ExtensionsController < ApplicationController
2
+ only_allow_access_to :index,
3
+ :when => :admin,
4
+ :denied_url => { :controller => 'pages', :action => 'index' },
5
+ :denied_message => 'You must have administrative privileges to perform this action.'
6
+
7
+ def index
8
+ @template_name = 'index' # for Admin::RegionsHelper
9
+ @extensions = TrustyCms::Extension.descendants.sort_by { |e| e.extension_name }
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ class Admin::LayoutsController < Admin::ResourceController
2
+ paginate_models
3
+ only_allow_access_to :index, :show, :new, :create, :edit, :update, :remove, :destroy,
4
+ :when => [:designer, :admin],
5
+ :denied_url => { :controller => 'admin/pages', :action => 'index' },
6
+ :denied_message => 'You must have designer privileges to perform this action.'
7
+
8
+ end
@@ -0,0 +1,9 @@
1
+ class Admin::PageFieldsController < Admin::ResourceController
2
+ def create
3
+ self.model = PageField.new(params[model_symbol])
4
+ @controller_name = 'page'
5
+ @template_name = 'edit'
6
+ render :partial => "page_field", :object => model,
7
+ :locals => { :page_field_counter => params[:page_field_counter].to_i}
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class Admin::PagePartsController < Admin::ResourceController
2
+ def create
3
+ self.model.attributes = params[model_symbol]
4
+ @controller_name = 'page'
5
+ @template_name = 'edit'
6
+ render :partial => "page_part", :object => model,
7
+ :locals => {:page_part_counter => params[:index].to_i}
8
+ end
9
+ end