cardboard_cms 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (360) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-gemset +1 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +42 -0
  5. data/Gemfile.lock +324 -0
  6. data/Guardfile +23 -0
  7. data/LICENSE.txt +677 -0
  8. data/README.md +370 -0
  9. data/Rakefile +23 -0
  10. data/app/assets/images/cardboard/.gitkeep +0 -0
  11. data/app/assets/images/cardboard/bg.png +0 -0
  12. data/app/assets/images/cardboard/calendar.png +0 -0
  13. data/app/assets/images/cardboard/lorem-ipsum-coffe-mug.jpg +0 -0
  14. data/app/assets/javascripts/cardboard.js +1 -0
  15. data/app/assets/javascripts/cardboard/admin.js +62 -0
  16. data/app/assets/javascripts/cardboard/content_sidebar.js +27 -0
  17. data/app/assets/javascripts/cardboard/datepicker.js +19 -0
  18. data/app/assets/javascripts/cardboard/main_sidebar.js +32 -0
  19. data/app/assets/javascripts/cardboard/rich_text.js +81 -0
  20. data/app/assets/javascripts/cardboard/search_filter.js +28 -0
  21. data/app/assets/stylesheets/cardboard.css.scss +2 -0
  22. data/app/assets/stylesheets/cardboard/_bootstrap-select.css.scss +183 -0
  23. data/app/assets/stylesheets/cardboard/_content.css.scss +35 -0
  24. data/app/assets/stylesheets/cardboard/_content_sidebar.css.scss +96 -0
  25. data/app/assets/stylesheets/cardboard/_framework.css.scss +129 -0
  26. data/app/assets/stylesheets/cardboard/_main_sidebar.css.scss +38 -0
  27. data/app/assets/stylesheets/cardboard/_main_topbar.css.scss +62 -0
  28. data/app/assets/stylesheets/cardboard/_resources.css.scss +28 -0
  29. data/app/assets/stylesheets/cardboard/_rich_text.css.scss +6 -0
  30. data/app/assets/stylesheets/cardboard/_variables.scss +326 -0
  31. data/app/assets/stylesheets/cardboard/admin.css.scss +63 -0
  32. data/app/controllers/cardboard/application_controller.rb +45 -0
  33. data/app/controllers/cardboard/dashboard_controller.rb +9 -0
  34. data/app/controllers/cardboard/my_account_controller.rb +27 -0
  35. data/app/controllers/cardboard/pages_controller.rb +34 -0
  36. data/app/controllers/cardboard/resource_controller.rb +61 -0
  37. data/app/controllers/cardboard/settings_controller.rb +28 -0
  38. data/app/controllers/cardboard/super_user_controller.rb +8 -0
  39. data/app/controllers/pages_controller.rb +29 -0
  40. data/app/decorators/controllers/application_controller_decorator.rb +9 -0
  41. data/app/decorators/lib/cardboard/user_class_decorator.rb +32 -0
  42. data/app/helpers/cardboard/application_helper.rb +4 -0
  43. data/app/helpers/cardboard/public_helper.rb +53 -0
  44. data/app/helpers/cardboard/resource_helper.rb +80 -0
  45. data/app/inputs/date_picker_input.rb +10 -0
  46. data/app/inputs/date_time_input.rb +7 -0
  47. data/app/inputs/image_input.rb +3 -0
  48. data/app/inputs/rich_text_input.rb +6 -0
  49. data/app/models/cardboard/field.rb +67 -0
  50. data/app/models/cardboard/field/boolean.rb +29 -0
  51. data/app/models/cardboard/field/date.rb +24 -0
  52. data/app/models/cardboard/field/decimal.rb +25 -0
  53. data/app/models/cardboard/field/external_link.rb +4 -0
  54. data/app/models/cardboard/field/file.rb +19 -0
  55. data/app/models/cardboard/field/image.rb +33 -0
  56. data/app/models/cardboard/field/integer.rb +26 -0
  57. data/app/models/cardboard/field/resource_link.rb +4 -0
  58. data/app/models/cardboard/field/rich_text.rb +21 -0
  59. data/app/models/cardboard/field/string.rb +16 -0
  60. data/app/models/cardboard/field/text.rb +15 -0
  61. data/app/models/cardboard/page.rb +253 -0
  62. data/app/models/cardboard/page_part.rb +79 -0
  63. data/app/models/cardboard/setting.rb +46 -0
  64. data/app/views/cardboard/dashboard/index.html.slim +1 -0
  65. data/app/views/cardboard/fields/_base_input.html.slim +1 -0
  66. data/app/views/cardboard/fields/_boolean.html.slim +4 -0
  67. data/app/views/cardboard/fields/_date.html.slim +1 -0
  68. data/app/views/cardboard/fields/_external_link.html.slim +2 -0
  69. data/app/views/cardboard/fields/_file.html.slim +12 -0
  70. data/app/views/cardboard/fields/_image.html.slim +11 -0
  71. data/app/views/cardboard/fields/_resource_link.html.slim +2 -0
  72. data/app/views/cardboard/fields/_rich_text.html.slim +3 -0
  73. data/app/views/cardboard/fields/_string.html.slim +1 -0
  74. data/app/views/cardboard/my_account/edit.html.slim +29 -0
  75. data/app/views/cardboard/pages/_error.html.slim +7 -0
  76. data/app/views/cardboard/pages/_seo.html.slim +6 -0
  77. data/app/views/cardboard/pages/_sidebar.html.slim +17 -0
  78. data/app/views/cardboard/pages/_subpart_fields.html.slim +20 -0
  79. data/app/views/cardboard/pages/_url_field.html.slim +20 -0
  80. data/app/views/cardboard/pages/edit.html.slim +43 -0
  81. data/app/views/cardboard/pages/index.html.slim +2 -0
  82. data/app/views/cardboard/pages/show.html.slim +9 -0
  83. data/app/views/cardboard/resources/_advanced_search.html.slim +40 -0
  84. data/app/views/cardboard/resources/_search_button.html.slim +2 -0
  85. data/app/views/cardboard/resources/_search_helper.html.slim +17 -0
  86. data/app/views/cardboard/resources/_simple_search.html.slim +6 -0
  87. data/app/views/cardboard/rich_editor/_links_modal.html.slim +39 -0
  88. data/app/views/cardboard/settings/index.html.slim +8 -0
  89. data/app/views/cardboard/super_user/index.html.slim +10 -0
  90. data/app/views/layouts/cardboard/_flash_message.html.slim +6 -0
  91. data/app/views/layouts/cardboard/_head.html.slim +16 -0
  92. data/app/views/layouts/cardboard/_main_sidebar.html.slim +12 -0
  93. data/app/views/layouts/cardboard/_main_topbar.html.slim +32 -0
  94. data/app/views/layouts/cardboard/application.html.slim +28 -0
  95. data/cardboard.gemspec +57 -0
  96. data/config/initializers/dragonfly.rb +27 -0
  97. data/config/initializers/ranker_mapper_finder_bugfix.rb +43 -0
  98. data/config/initializers/simple_form.rb +142 -0
  99. data/config/initializers/simple_form_bootstrap.rb +45 -0
  100. data/config/locales/simple_form.en.yml +26 -0
  101. data/config/routes.rb +53 -0
  102. data/doc/apple-touch-icon.png +0 -0
  103. data/doc/classes/Cardboard.html +190 -0
  104. data/doc/classes/Cardboard/AdminController.html +134 -0
  105. data/doc/classes/Cardboard/AdminHelper.html +307 -0
  106. data/doc/classes/Cardboard/ApplicationController.html +76 -0
  107. data/doc/classes/Cardboard/ApplicationHelper.html +70 -0
  108. data/doc/classes/Cardboard/DashboardController.html +131 -0
  109. data/doc/classes/Cardboard/Field.html +283 -0
  110. data/doc/classes/Cardboard/Field/Boolean.html +218 -0
  111. data/doc/classes/Cardboard/Field/Date.html +218 -0
  112. data/doc/classes/Cardboard/Field/Decimal.html +218 -0
  113. data/doc/classes/Cardboard/Field/ExternalLink.html +76 -0
  114. data/doc/classes/Cardboard/Field/File.html +131 -0
  115. data/doc/classes/Cardboard/Field/Image.html +181 -0
  116. data/doc/classes/Cardboard/Field/Integer.html +218 -0
  117. data/doc/classes/Cardboard/Field/ResourceLink.html +76 -0
  118. data/doc/classes/Cardboard/Field/RichText.html +131 -0
  119. data/doc/classes/Cardboard/Field/String.html +131 -0
  120. data/doc/classes/Cardboard/Page.html +1184 -0
  121. data/doc/classes/Cardboard/PagePart.html +304 -0
  122. data/doc/classes/Cardboard/PagesController.html +186 -0
  123. data/doc/classes/Cardboard/PublicHelper.html +252 -0
  124. data/doc/classes/Cardboard/Setting.html +240 -0
  125. data/doc/classes/Cardboard/SettingsController.html +184 -0
  126. data/doc/classes/Cardboard/SuperUserController.html +130 -0
  127. data/doc/classes/Cardboard/UsersController.html +191 -0
  128. data/doc/classes/DatePickerInput.html +132 -0
  129. data/doc/classes/ImageInput.html +76 -0
  130. data/doc/classes/Object.html +211 -0
  131. data/doc/classes/PagesController.html +145 -0
  132. data/doc/classes/RichTextInput.html +132 -0
  133. data/doc/created.rid +31 -0
  134. data/doc/css/github.css +129 -0
  135. data/doc/css/main.css +333 -0
  136. data/doc/css/panel.css +384 -0
  137. data/doc/css/reset.css +48 -0
  138. data/doc/favicon.ico +0 -0
  139. data/doc/files/app/controllers/cardboard/admin_controller_rb.html +79 -0
  140. data/doc/files/app/controllers/cardboard/application_controller_rb.html +84 -0
  141. data/doc/files/app/controllers/cardboard/dashboard_controller_rb.html +84 -0
  142. data/doc/files/app/controllers/cardboard/pages_controller_rb.html +84 -0
  143. data/doc/files/app/controllers/cardboard/settings_controller_rb.html +84 -0
  144. data/doc/files/app/controllers/cardboard/super_user_controller_rb.html +84 -0
  145. data/doc/files/app/controllers/cardboard/users_controller_rb.html +84 -0
  146. data/doc/files/app/controllers/pages_controller_rb.html +79 -0
  147. data/doc/files/app/decorators/controllers/application_controller_decorator_rb.html +68 -0
  148. data/doc/files/app/decorators/lib/cardboard/user_class_decorator_rb.html +68 -0
  149. data/doc/files/app/helpers/cardboard/admin_helper_rb.html +84 -0
  150. data/doc/files/app/helpers/cardboard/application_helper_rb.html +84 -0
  151. data/doc/files/app/helpers/cardboard/public_helper_rb.html +84 -0
  152. data/doc/files/app/inputs/date_picker_input_rb.html +79 -0
  153. data/doc/files/app/inputs/image_input_rb.html +79 -0
  154. data/doc/files/app/inputs/rich_text_input_rb.html +79 -0
  155. data/doc/files/app/models/cardboard/field/boolean_rb.html +84 -0
  156. data/doc/files/app/models/cardboard/field/date_rb.html +84 -0
  157. data/doc/files/app/models/cardboard/field/decimal_rb.html +84 -0
  158. data/doc/files/app/models/cardboard/field/external_link_rb.html +84 -0
  159. data/doc/files/app/models/cardboard/field/file_rb.html +84 -0
  160. data/doc/files/app/models/cardboard/field/image_rb.html +84 -0
  161. data/doc/files/app/models/cardboard/field/integer_rb.html +84 -0
  162. data/doc/files/app/models/cardboard/field/resource_link_rb.html +84 -0
  163. data/doc/files/app/models/cardboard/field/rich_text_rb.html +84 -0
  164. data/doc/files/app/models/cardboard/field/string_rb.html +84 -0
  165. data/doc/files/app/models/cardboard/field_rb.html +84 -0
  166. data/doc/files/app/models/cardboard/page_part_rb.html +84 -0
  167. data/doc/files/app/models/cardboard/page_rb.html +84 -0
  168. data/doc/files/app/models/cardboard/setting_rb.html +84 -0
  169. data/doc/i/arrows.png +0 -0
  170. data/doc/i/results_bg.png +0 -0
  171. data/doc/i/tree_bg.png +0 -0
  172. data/doc/index.html +13 -0
  173. data/doc/js/highlight.pack.js +1 -0
  174. data/doc/js/jquery-1.3.2.min.js +19 -0
  175. data/doc/js/jquery-effect.js +593 -0
  176. data/doc/js/main.js +24 -0
  177. data/doc/js/navigation.js +142 -0
  178. data/doc/js/search_index.js +1 -0
  179. data/doc/js/searchdoc.js +449 -0
  180. data/doc/js/searcher.js +228 -0
  181. data/doc/panel/index.html +73 -0
  182. data/doc/panel/links.html +66 -0
  183. data/doc/panel/tree.js +1 -0
  184. data/lib/cardboard/application.rb +67 -0
  185. data/lib/cardboard/engine.rb +83 -0
  186. data/lib/cardboard/helpers/seed.rb +80 -0
  187. data/lib/cardboard/helpers/settings.rb +58 -0
  188. data/lib/cardboard/version.rb +3 -0
  189. data/lib/cardboard_cms.rb +34 -0
  190. data/lib/generators/cardboard/assets/assets_generator.rb +18 -0
  191. data/lib/generators/cardboard/install/install_generator.rb +96 -0
  192. data/lib/generators/cardboard/install/templates/cardboard.rb.erb +53 -0
  193. data/lib/generators/cardboard/install/templates/cardboard.yml +29 -0
  194. data/lib/generators/cardboard/install/templates/index.html.erb +0 -0
  195. data/lib/generators/cardboard/install/templates/migrations/1_create_cardboard_fields.rb +21 -0
  196. data/lib/generators/cardboard/install/templates/migrations/2_create_cardboard_page_parts.rb +17 -0
  197. data/lib/generators/cardboard/install/templates/migrations/3_create_cardboard_pages.rb +18 -0
  198. data/lib/generators/cardboard/install/templates/migrations/4_create_cardboard_settings.rb +14 -0
  199. data/lib/generators/cardboard/resource/resource_generator.rb +52 -0
  200. data/lib/generators/cardboard/resource/templates/admin_controller.rb +9 -0
  201. data/lib/generators/cardboard/resource/templates/slim/_fields.html.slim +5 -0
  202. data/lib/generators/cardboard/resource/templates/slim/edit.html.slim +4 -0
  203. data/lib/generators/cardboard/resource/templates/slim/index.html.slim +18 -0
  204. data/lib/generators/cardboard/resource/templates/slim/new.html.slim +4 -0
  205. data/lib/tasks/cardboard_tasks.rake +22 -0
  206. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  207. data/script/rails +8 -0
  208. data/test/dummy/README.rdoc +261 -0
  209. data/test/dummy/Rakefile +7 -0
  210. data/test/dummy/app/assets/images/defaults/CrashTest.jpg +0 -0
  211. data/test/dummy/app/assets/javascripts/admins.js +2 -0
  212. data/test/dummy/app/assets/javascripts/application.js +5 -0
  213. data/test/dummy/app/assets/javascripts/beans.js +2 -0
  214. data/test/dummy/app/assets/javascripts/cardboard.js +1 -0
  215. data/test/dummy/app/assets/javascripts/icescreams.js +2 -0
  216. data/test/dummy/app/assets/javascripts/main.js +2 -0
  217. data/test/dummy/app/assets/javascripts/news_posts.js +2 -0
  218. data/test/dummy/app/assets/javascripts/pianos.js +2 -0
  219. data/test/dummy/app/assets/stylesheets/admins.css.scss +3 -0
  220. data/test/dummy/app/assets/stylesheets/application.css.scss +9 -0
  221. data/test/dummy/app/assets/stylesheets/beans.css.scss +3 -0
  222. data/test/dummy/app/assets/stylesheets/cardboard.css.scss +5 -0
  223. data/test/dummy/app/assets/stylesheets/icescreams.css.scss +3 -0
  224. data/test/dummy/app/assets/stylesheets/main.css +4 -0
  225. data/test/dummy/app/assets/stylesheets/news_posts.css.scss +3 -0
  226. data/test/dummy/app/assets/stylesheets/pianos.css.scss +3 -0
  227. data/test/dummy/app/assets/stylesheets/scaffolds.css.scss +69 -0
  228. data/test/dummy/app/controllers/application_controller.rb +3 -0
  229. data/test/dummy/app/controllers/cardboard/pianos_controller.rb +6 -0
  230. data/test/dummy/app/controllers/pianos_controller.rb +83 -0
  231. data/test/dummy/app/helpers/application_helper.rb +9 -0
  232. data/test/dummy/app/helpers/cardboard/pianos_helper.rb +7 -0
  233. data/test/dummy/app/mailers/.gitkeep +0 -0
  234. data/test/dummy/app/models/.gitkeep +0 -0
  235. data/test/dummy/app/models/admin_user.rb +28 -0
  236. data/test/dummy/app/models/piano.rb +3 -0
  237. data/test/dummy/app/views/cardboard/pianos/_fields.html.slim +5 -0
  238. data/test/dummy/app/views/cardboard/pianos/edit.html.slim +6 -0
  239. data/test/dummy/app/views/cardboard/pianos/index.html.slim +18 -0
  240. data/test/dummy/app/views/cardboard/pianos/new.html.slim +6 -0
  241. data/test/dummy/app/views/cardboard/pianos/show.html.slim +11 -0
  242. data/test/dummy/app/views/layouts/application.html.slim +24 -0
  243. data/test/dummy/app/views/main/index.html.slim +1 -0
  244. data/test/dummy/app/views/pages/about-us.html.slim +1 -0
  245. data/test/dummy/app/views/pages/home.html.slim +3 -0
  246. data/test/dummy/app/views/pianos/_form.html.erb +25 -0
  247. data/test/dummy/app/views/pianos/edit.html.erb +6 -0
  248. data/test/dummy/app/views/pianos/index.html.erb +25 -0
  249. data/test/dummy/app/views/pianos/new.html.erb +5 -0
  250. data/test/dummy/app/views/pianos/show.html.erb +15 -0
  251. data/test/dummy/config.ru +4 -0
  252. data/test/dummy/config/application.rb +50 -0
  253. data/test/dummy/config/boot.rb +10 -0
  254. data/test/dummy/config/cardboard.yml +126 -0
  255. data/test/dummy/config/database.yml +17 -0
  256. data/test/dummy/config/environment.rb +5 -0
  257. data/test/dummy/config/environments/development.rb +24 -0
  258. data/test/dummy/config/environments/production.rb +70 -0
  259. data/test/dummy/config/environments/test.rb +33 -0
  260. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  261. data/test/dummy/config/initializers/cardboard.rb +53 -0
  262. data/test/dummy/config/initializers/devise.rb +240 -0
  263. data/test/dummy/config/initializers/inflections.rb +15 -0
  264. data/test/dummy/config/initializers/mime_types.rb +5 -0
  265. data/test/dummy/config/initializers/secret_token.rb +8 -0
  266. data/test/dummy/config/initializers/session_store.rb +8 -0
  267. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  268. data/test/dummy/config/locales/devise.en.yml +59 -0
  269. data/test/dummy/config/locales/en.yml +5 -0
  270. data/test/dummy/config/routes.rb +16 -0
  271. data/test/dummy/db/migrate/20130403142235_create_pianos.rb +10 -0
  272. data/test/dummy/db/migrate/20130417134832_add_devise_to_admin_users.rb +53 -0
  273. data/test/dummy/db/migrate/20130426021522_create_news_posts.rb +10 -0
  274. data/test/dummy/db/migrate/20130501195423_create_icescreams.rb +10 -0
  275. data/test/dummy/db/migrate/20130502165540_create_beans.rb +12 -0
  276. data/test/dummy/db/migrate/20130522151358_create_cardboard_fields.rb +21 -0
  277. data/test/dummy/db/migrate/20130522151359_create_cardboard_page_parts.rb +17 -0
  278. data/test/dummy/db/migrate/20130522151400_create_cardboard_pages.rb +18 -0
  279. data/test/dummy/db/migrate/20130522151401_create_cardboard_settings.rb +14 -0
  280. data/test/dummy/db/migrate/20130607132558_create_admins.rb +9 -0
  281. data/test/dummy/db/schema.rb +129 -0
  282. data/test/dummy/db/seeds.rb +2 -0
  283. data/test/dummy/lib/assets/.gitkeep +0 -0
  284. data/test/dummy/log/.gitkeep +0 -0
  285. data/test/dummy/public/404.html +26 -0
  286. data/test/dummy/public/422.html +26 -0
  287. data/test/dummy/public/500.html +25 -0
  288. data/test/dummy/public/favicon.ico +0 -0
  289. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_10_816_404_no_file.png +0 -0
  290. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_10_816_404_no_file.png.meta +2 -0
  291. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_17_87_404_no_file.png +0 -0
  292. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_17_87_404_no_file.png.meta +2 -0
  293. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_34_680_404_no_file.png +0 -0
  294. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_34_680_404_no_file.png.meta +2 -0
  295. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_44_00_698_404_no_file.png +0 -0
  296. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_44_00_698_404_no_file.png.meta +2 -0
  297. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_46_49_55_6152message_in_a_bottle.jpeg +0 -0
  298. data/test/dummy/public/system/dragonfly/development/2013/04/16/10_46_49_55_6152message_in_a_bottle.jpeg.meta +2 -0
  299. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_30_773_404_no_file.png +0 -0
  300. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_30_773_404_no_file.png.meta +2 -0
  301. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_38_856_airport_shuttles_20130207_1647.csv +8 -0
  302. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_38_856_airport_shuttles_20130207_1647.csv.meta +2 -0
  303. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_12_12_144_1361696555_GMail_Android_R.png +0 -0
  304. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_12_12_144_1361696555_GMail_Android_R.png.meta +2 -0
  305. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_16_40_989_404_no_file.png +0 -0
  306. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_16_40_989_404_no_file.png.meta +2 -0
  307. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_19_19_40_6152message_in_a_bottle.jpeg +0 -0
  308. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_19_19_40_6152message_in_a_bottle.jpeg.meta +2 -0
  309. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_21_21_825_6152message_in_a_bottle.jpeg +0 -0
  310. data/test/dummy/public/system/dragonfly/development/2013/04/16/14_21_21_825_6152message_in_a_bottle.jpeg.meta +2 -0
  311. data/test/dummy/public/system/dragonfly/development/2013/04/16/15_46_33_341_bio.jpg +0 -0
  312. data/test/dummy/public/system/dragonfly/development/2013/04/16/15_46_33_341_bio.jpg.meta +2 -0
  313. data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_55_892_404_no_file.png +0 -0
  314. data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_55_892_404_no_file.png.meta +2 -0
  315. data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_56_30_404_no_file.png +0 -0
  316. data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_56_30_404_no_file.png.meta +2 -0
  317. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_24_04_585_Sky_3920445.jpg +0 -0
  318. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_24_04_585_Sky_3920445.jpg.meta +2 -0
  319. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_25_41_111_Sky_3920445.jpg +0 -0
  320. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_25_41_111_Sky_3920445.jpg.meta +2 -0
  321. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_16_937_Sky_3920445.jpg +0 -0
  322. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_16_937_Sky_3920445.jpg.meta +2 -0
  323. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_57_585_Sky_3920445.jpg +0 -0
  324. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_57_585_Sky_3920445.jpg.meta +2 -0
  325. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_28_24_991_Sky_3920445.jpg +0 -0
  326. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_28_24_991_Sky_3920445.jpg.meta +2 -0
  327. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_33_30_610_Sky_3920445.jpg +0 -0
  328. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_33_30_610_Sky_3920445.jpg.meta +2 -0
  329. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_35_18_437_Sky_3920445.jpg +0 -0
  330. data/test/dummy/public/system/dragonfly/development/2013/04/17/15_35_18_437_Sky_3920445.jpg.meta +2 -0
  331. data/test/dummy/public/system/dragonfly/development/2013/04/17/16_45_07_162_Vehicle_Types.jpg +0 -0
  332. data/test/dummy/public/system/dragonfly/development/2013/04/17/16_45_07_162_Vehicle_Types.jpg.meta +2 -0
  333. data/test/dummy/public/system/dragonfly/development/2013/04/18/22_27_35_733_hall.jpg +0 -0
  334. data/test/dummy/public/system/dragonfly/development/2013/04/18/22_27_35_733_hall.jpg.meta +2 -0
  335. data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_808_fluidicon.png +0 -0
  336. data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_808_fluidicon.png.meta +2 -0
  337. data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_989_fluidicon.png +0 -0
  338. data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_989_fluidicon.png.meta +2 -0
  339. data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_44_881_hall3.jpg +0 -0
  340. data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_44_881_hall3.jpg.meta +2 -0
  341. data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_45_450_hall3.jpg +0 -0
  342. data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_45_450_hall3.jpg.meta +2 -0
  343. data/test/dummy/script/rails +6 -0
  344. data/test/dummy/test/fixtures/admins.yml +7 -0
  345. data/test/dummy/test/functional/admins_controller_test.rb +49 -0
  346. data/test/dummy/test/unit/admin_test.rb +7 -0
  347. data/test/dummy/test/unit/helpers/admins_helper_test.rb +4 -0
  348. data/test/factories.rb +47 -0
  349. data/test/integration/page_editing_test.rb +77 -0
  350. data/test/integration/seeding_test.rb +96 -0
  351. data/test/models/field_test.rb +102 -0
  352. data/test/models/page_test.rb +105 -0
  353. data/test/test_helper.rb +40 -0
  354. data/vendor/assets/javascripts/cardboard/bootstrap-select.js +590 -0
  355. data/vendor/assets/javascripts/cardboard/jquery.livesearch.js +48 -0
  356. data/vendor/assets/javascripts/cardboard/jquery.pjax.js +822 -0
  357. data/vendor/assets/javascripts/cardboard/jquery.wysihtml5_size_matters.js.coffee +44 -0
  358. data/vendor/assets/javascripts/cardboard/jquery.wysihtml5imgresizer.js +320 -0
  359. data/vendor/assets/javascripts/cardboard/wysihtml5-0.4.0pre.js +9579 -0
  360. metadata +1011 -0
@@ -0,0 +1,27 @@
1
+ $(document).ready(function(){
2
+
3
+ var updateURL = $('#content_pages').attr('data-update-url');
4
+
5
+ var sortableSettings = {
6
+ axis: "y",
7
+ handle: ".sort_handle",
8
+ update: postRefresh
9
+ }
10
+
11
+ $('#content_pages, .page_group').sortable(sortableSettings);
12
+
13
+ function postRefresh(event, ui) {
14
+ var content = ui.item.html();
15
+
16
+ // post results to server and save effect
17
+ $.post(updateURL, {id: ui.item.attr('id').replace('pages_', ''), index: ui.item.index()})
18
+ .done(function() {
19
+ $(ui.item).html('<div class="link_wrap"><a href="#" class="offset-0 saving">Saved!</a></div>');
20
+ setTimeout(function(){
21
+ $(ui.item).html(content);
22
+ $('#content_pages, .page_group').sortable(sortableSettings);
23
+ }, 800);
24
+ });
25
+ }
26
+
27
+ });
@@ -0,0 +1,19 @@
1
+ var create_datepickers = function(){
2
+
3
+ $('input.datepicker').datepicker({format: 'yyyy-mm-dd'}).on('changeDate', function() {
4
+ $(this).data('datepicker').hide();
5
+ });
6
+
7
+ // $('input.datetimepicker').datepicker({format: "yyyy-mm-dd HH:mm pp", pick12HourFormat: true}).on('changeDate', function() {
8
+ // $(this).data('datepicker').hide();
9
+ // });
10
+ }
11
+
12
+
13
+ $(document).on("ready pjax:end", function () {
14
+ create_datepickers();
15
+
16
+ $(document).on('cocoon:after-insert', function(e, insertedItem) {
17
+ create_datepickers();
18
+ });
19
+ });
@@ -0,0 +1,32 @@
1
+ $(function(){
2
+ $("a#nav_dashboard_link").click(function(e){
3
+ e.preventDefault();
4
+ $("#content_sidebar").toggleClass('toggle');
5
+ $('#content').toggleClass('toggle');
6
+ // $(this).toggleClass('active');
7
+ });
8
+
9
+
10
+ // Filter page sidebar
11
+ $('#sidebar_page_search').search('.page_link', function(on) {
12
+ on.all(function(results) {
13
+ var size = results ? results.size() : 0
14
+ });
15
+
16
+ on.reset(function() {
17
+ $('#sidebar_page_search_none').hide();
18
+ $('.page_link').show();
19
+ });
20
+
21
+ on.empty(function() {
22
+ $('#sidebar_page_search_none').show();
23
+ $('.page_link').hide();
24
+ });
25
+
26
+ on.results(function(results) {
27
+ $('#sidebar_page_search_none').hide();
28
+ $('.page_link').hide();
29
+ results.show();
30
+ });
31
+ });
32
+ });
@@ -0,0 +1,81 @@
1
+ //= require cardboard/wysihtml5-0.4.0pre
2
+ //= require bootstrap-wysihtml5/core
3
+
4
+ $(document).on('page:load', function(){
5
+ window['rangy'].initialized = false
6
+ })
7
+
8
+ var wysihtml5ParserRules = {
9
+ tags: {
10
+ "b": {},
11
+ "i": {},
12
+ "br": {},
13
+ "ol": {},
14
+ "ul": {},
15
+ "li": {},
16
+ "h1": {},
17
+ "h2": {},
18
+ "h3": {},
19
+ "blockquote": {},
20
+ "u": 1,
21
+ "img": {
22
+ "check_attributes": {
23
+ "width": "numbers",
24
+ "alt": "alt",
25
+ "src": "url",
26
+ "height": "numbers"
27
+ }
28
+ },
29
+ "a": {
30
+ set_attributes: {
31
+ target: "_blank",
32
+ // rel: "nofollow"
33
+ },
34
+ check_attributes: {
35
+ href: "href" // important to avoid XSS
36
+ }
37
+ },
38
+ "span": 1,
39
+ "div": 1,
40
+ // to allow save and edit files with code tag hacks
41
+ "code": 1,
42
+ "pre": 1
43
+ }
44
+ };
45
+
46
+
47
+ var page_links_template = {
48
+ link: function() { return gon.rich_text_links_modal; }
49
+ }
50
+
51
+ var rich_text_editor_defaults = {
52
+ image: false,
53
+ customTemplates: page_links_template,
54
+ parserRules: wysihtml5ParserRules,
55
+ useLineBreaks: false
56
+ }
57
+
58
+ $(document).on("ready pjax:end", function(e){
59
+ // console.log($(".wysihtml5").length);
60
+ if($(".wysihtml5").length) {
61
+ $('.wysihtml5').wysihtml5(rich_text_editor_defaults);
62
+ }
63
+ });
64
+
65
+ $(document).on('cocoon:after-insert', function(e, insertedItem) {
66
+ if($(insertedItem).find(".wysihtml5").length){
67
+ $(insertedItem).find(".wysihtml5").wysihtml5(rich_text_editor_defaults);
68
+ }
69
+ });
70
+
71
+ $(document).on('click', '.bootstrap-wysihtml5-insert-link-modal #link_pages a', function(e){
72
+ e.preventDefault;
73
+ modal = $(this).closest(".bootstrap-wysihtml5-insert-link-modal");
74
+ modal.find("input.bootstrap-wysihtml5-insert-link-url").val($(this).data("url"));
75
+ modal.find("#insert_link").click();
76
+ return false;
77
+ });
78
+
79
+ $(document).on('change', '.bootstrap-wysihtml5-insert-link-modal .tab-pane input', function(){
80
+ $(this).closest('.bootstrap-wysihtml5-insert-link-modal').find('.bootstrap-wysihtml5-insert-link-url').val($(this).val());
81
+ });
@@ -0,0 +1,28 @@
1
+ $(function(){
2
+ var ransack_options;
3
+
4
+ $(document).on("pjax:end ready", function(e){
5
+ ransack_options = $("select#ransack_options").html();
6
+ $("select#advanced_field").trigger("change");
7
+ })
8
+
9
+ $(document).on('change', "select#advanced_field", function(){
10
+ var type = $(this).find(":selected").data("type");
11
+ var options = $(ransack_options).filter("optgroup[label='" + type + "']").html()
12
+ $("select#ransack_options").html(options).trigger("change");
13
+ $("select#ransack_options").selectpicker('refresh');
14
+ });
15
+
16
+ $(document).on('change',"select#ransack_options", function(){
17
+ var field_name = $("select#advanced_field").find(":selected").val() +"_" + $(this).val();
18
+ $("#advanced_query").attr("name", "q["+field_name+"]").val("");
19
+ });
20
+ $(document).on('click', "#advanced_search_link", function(){
21
+ $("#simple_search").hide();
22
+ $("#advanced_search").show();
23
+ });
24
+ $(document).on('click', "#simple_search_link", function(){
25
+ $("#advanced_search").hide();
26
+ $("#simple_search").show();
27
+ });
28
+ });
@@ -0,0 +1,2 @@
1
+ // Extend and overwrite the CSS used for the admin area of cardboard
2
+ @import "cardboard/admin";
@@ -0,0 +1,183 @@
1
+ .bootstrap-select.btn-group,
2
+ .bootstrap-select.btn-group[class*="span"] {
3
+ float: none;
4
+ display: inline-block;
5
+ margin-bottom: 10px;
6
+ margin-left: 0;
7
+ }
8
+ .form-search .bootstrap-select.btn-group,
9
+ .form-inline .bootstrap-select.btn-group,
10
+ .form-horizontal .bootstrap-select.btn-group {
11
+ margin-bottom: 0;
12
+ }
13
+
14
+ .bootstrap-select.btn-group.pull-right,
15
+ .bootstrap-select.btn-group[class*="span"].pull-right,
16
+ .row-fluid .bootstrap-select.btn-group[class*="span"].pull-right {
17
+ float: right;
18
+ }
19
+
20
+ .input-append .bootstrap-select.btn-group {
21
+ margin-left: -1px;
22
+ }
23
+
24
+ .input-prepend .bootstrap-select.btn-group {
25
+ margin-right: -1px;
26
+ }
27
+
28
+ .bootstrap-select:not([class*="span"]) {
29
+ width: 220px;
30
+ }
31
+
32
+ .bootstrap-select {
33
+ width: 220px\9; /*IE8 and below*/
34
+ }
35
+
36
+ .bootstrap-select .btn {
37
+ width: 100%;
38
+ }
39
+
40
+ .bootstrap-select.show-menu-arrow.open .btn {
41
+ z-index: 1001;
42
+ }
43
+
44
+ .bootstrap-select .btn:focus {
45
+ outline: thin dotted #333333 !important;
46
+ outline: 5px auto -webkit-focus-ring-color !important;
47
+ outline-offset: -2px;
48
+ }
49
+
50
+ .bootstrap-select.btn-group .btn .filter-option {
51
+ overflow: hidden;
52
+ position: absolute;
53
+ left: 12px;
54
+ right: 25px;
55
+ text-align: left;
56
+ }
57
+
58
+ .bootstrap-select.btn-group .btn .caret {
59
+ position: absolute;
60
+ right: 12px;
61
+ }
62
+
63
+ .bootstrap-select.btn-group > .disabled,
64
+ .bootstrap-select.btn-group .dropdown-menu li.disabled > a {
65
+ cursor: not-allowed;
66
+ }
67
+
68
+ .bootstrap-select.btn-group[class*="span"] .btn {
69
+ width: 100%;
70
+ }
71
+
72
+ .bootstrap-select.btn-group .dropdown-menu {
73
+ min-width: 100%;
74
+ -moz-box-sizing: border-box;
75
+ -webkit-box-sizing: border-box;
76
+ box-sizing: border-box;
77
+ }
78
+
79
+ .bootstrap-select.btn-group .dropdown-menu dt {
80
+ display: block;
81
+ padding: 3px 20px;
82
+ cursor: default;
83
+ }
84
+
85
+ .bootstrap-select.btn-group .div-contain {
86
+ overflow: hidden;
87
+ }
88
+
89
+ .bootstrap-select.btn-group .dropdown-menu li > a.opt {
90
+ padding-left: 35px;
91
+ }
92
+
93
+ .bootstrap-select.btn-group .dropdown-menu li > a {
94
+ min-height: 20px;
95
+ cursor: pointer;
96
+ }
97
+
98
+ .bootstrap-select.btn-group .dropdown-menu li > dt small {
99
+ font-weight: normal;
100
+ }
101
+
102
+ .bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark {
103
+ display: inline-block;
104
+ position: absolute;
105
+ right: 15px;
106
+ margin-top: 2.5px;
107
+ }
108
+
109
+ .bootstrap-select.btn-group .dropdown-menu li a i.check-mark {
110
+ display: none;
111
+ }
112
+
113
+ .bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
114
+ margin-right: 34px;
115
+ }
116
+
117
+ .bootstrap-select.btn-group .dropdown-menu li small {
118
+ padding-left: 0.5em;
119
+ }
120
+
121
+ .bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:hover small,
122
+ .bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:focus small {
123
+ color: #64b1d8;
124
+ color: rgba(255,255,255,0.4);
125
+ }
126
+
127
+ .bootstrap-select.btn-group .dropdown-menu li > dt small {
128
+ font-weight: normal;
129
+ }
130
+
131
+ .bootstrap-select.show-menu-arrow .dropdown-toggle:before {
132
+ content: '';
133
+ display: inline-block;
134
+ border-left: 7px solid transparent;
135
+ border-right: 7px solid transparent;
136
+ border-bottom: 7px solid #CCC;
137
+ border-bottom-color: rgba(0, 0, 0, 0.2);
138
+ position: absolute;
139
+ bottom: -4px;
140
+ left: 9px;
141
+ display: none;
142
+ }
143
+
144
+ .bootstrap-select.show-menu-arrow .dropdown-toggle:after {
145
+ content: '';
146
+ display: inline-block;
147
+ border-left: 6px solid transparent;
148
+ border-right: 6px solid transparent;
149
+ border-bottom: 6px solid white;
150
+ position: absolute;
151
+ bottom: -4px;
152
+ left: 10px;
153
+ display: none;
154
+ }
155
+
156
+ .bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {
157
+ bottom: auto;
158
+ top: -3px;
159
+ border-top: 7px solid #ccc;
160
+ border-bottom: 0;
161
+ border-top-color: rgba(0, 0, 0, 0.2);
162
+ }
163
+
164
+ .bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {
165
+ bottom: auto;
166
+ top: -3px;
167
+ border-top: 6px solid #ffffff;
168
+ border-bottom: 0;
169
+ }
170
+
171
+ .bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {
172
+ right: 12px;
173
+ left: auto;
174
+ }
175
+ .bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {
176
+ right: 13px;
177
+ left: auto;
178
+ }
179
+
180
+ .bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,
181
+ .bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {
182
+ display: block;
183
+ }
@@ -0,0 +1,35 @@
1
+ #content {
2
+
3
+ @include box-sizing(border-box);
4
+
5
+ display: block;
6
+ padding: 20px 40px;
7
+
8
+ height: 100%;
9
+
10
+ margin-left: $main_sidebar_width;
11
+ // -webkit-transition:all $page_nav_slide_speed ease;
12
+ // -moz-transition:all $page_nav_slide_speed ease;
13
+
14
+ &.toggle{
15
+ margin-left: $main_sidebar_width + $content_sidebar_width;
16
+ // -webkit-transition:all $page_nav_slide_speed ease;
17
+ // -moz-transition:all $page_nav_slide_speed ease;
18
+ }
19
+
20
+ h1, h2, h3, h4, h5, h6 {
21
+ margin: 0px 0px 20px 0px;
22
+ }
23
+
24
+ fieldset{
25
+ margin-top: 20px;
26
+ }
27
+
28
+
29
+ @include box-sizing(border-box);
30
+ }
31
+
32
+ #main_content{
33
+ background: $content_background;
34
+ }
35
+
@@ -0,0 +1,96 @@
1
+ #content_sidebar{
2
+ z-index: $main_sidebar_background_zindex - 1;
3
+ @include box-sizing(border-box);
4
+ // position: absolute;
5
+ // top: $main_topbar_height;// top: 0px;
6
+ // left: - $main_sidebar_width - 90px;
7
+ width: $content_sidebar_width;
8
+
9
+ // overflow: hidden;
10
+ background: #fff;
11
+ // -webkit-transition: left $page_nav_slide_speed ease;
12
+ // -moz-transition: left $page_nav_slide_speed ease;
13
+ padding: 18px 25px 10px 25px;
14
+ box-shadow: $main_content_sidebar_shadow;
15
+ display: none;
16
+
17
+ &.toggle {
18
+ display: block;
19
+ // left: $main_sidebar_width;
20
+ // -webkit-transition: left $page_nav_slide_speed ease;
21
+ // -moz-transition: left $page_nav_slide_speed ease;
22
+ }
23
+
24
+
25
+
26
+ #sidebar_page_search{
27
+ width: 90%;
28
+ }
29
+
30
+ #content_pages {
31
+ & > .page_link:first-child > .link_wrap {
32
+ & > a {
33
+ font-weight: 900;
34
+ }
35
+ }
36
+
37
+ .page_link{
38
+
39
+ > &:first-child {
40
+ background: black;
41
+ }
42
+
43
+ &.ui-sortable-helper {
44
+ .link_wrap a {
45
+ border-bottom: 0px;
46
+ }
47
+ }
48
+
49
+ .link_wrap{
50
+ position: relative;
51
+
52
+ &:hover {
53
+ > .sort_handle {
54
+ display: block;
55
+ }
56
+ }
57
+
58
+ a{
59
+ color: $brand_color;
60
+ border-bottom: 1px solid lighten($black, 90%);
61
+ display: block;
62
+ padding-top: 10px;
63
+ padding-bottom: 10px;
64
+
65
+ &.saving {
66
+ color: $successText;
67
+ background: $successBackground;
68
+ padding-left: 10px
69
+ }
70
+ }
71
+
72
+ .sort_handle {
73
+ position: absolute;
74
+ right: 0px;
75
+ top: 10px;
76
+ color: #ccc;
77
+ display: none;
78
+
79
+ .icon-reorder {
80
+ cursor: pointer;
81
+ cursor: hand;
82
+ }
83
+ }
84
+ }
85
+
86
+ $indent-width: 15px;
87
+ @for $i from 0 through 10 {
88
+ .offset-#{$i} {
89
+ padding-left: $i * $indent-width;
90
+ }
91
+ }
92
+
93
+ }
94
+ }
95
+
96
+ }