gluttonberg-core 2.6.4 → 3.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 (613) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +29 -3
  3. data/Rakefile +32 -15
  4. data/app/assets/images/chosen-sprite-2x.png +0 -0
  5. data/app/assets/images/chosen-sprite.png +0 -0
  6. data/app/assets/images/{library/gb_sort_by_asc.png → gb_sort_by_asc.png} +0 -0
  7. data/app/assets/images/{library/gb_sort_by_desc.png → gb_sort_by_desc.png} +0 -0
  8. data/app/assets/javascripts/chosen-jquery-min.js +2 -0
  9. data/app/assets/javascripts/gb_360player.js +676 -0
  10. data/app/assets/javascripts/gb_application.js +708 -463
  11. data/app/assets/javascripts/gb_html5.js +9 -0
  12. data/app/assets/javascripts/gb_jeditable.js +356 -356
  13. data/app/assets/javascripts/gb_jquery-nestable.js +490 -0
  14. data/app/assets/javascripts/gb_utils.js +1808 -0
  15. data/app/assets/javascripts/gluttonberg.js +26 -0
  16. data/app/assets/javascripts/jcrop/css/gb_jquery-Jcrop.css +163 -31
  17. data/app/assets/javascripts/jcrop/js/jquery-Jcrop-min.js +19 -243
  18. data/app/assets/javascripts/jquery-1-10-1.js +6 -0
  19. data/app/assets/javascripts/jquery-ui-1-10-3.custom-min.js +6 -0
  20. data/app/assets/javascripts/jquery-validate.js +652 -718
  21. data/app/assets/javascripts/rails.js +372 -106
  22. data/app/assets/javascripts/redactormin.js +7348 -0
  23. data/app/assets/stylesheets/chosen.css +430 -0
  24. data/app/assets/stylesheets/gb_360player.css +2 -10
  25. data/app/assets/stylesheets/gb_admin-override.sass +466 -22
  26. data/app/assets/stylesheets/gb_bootstrap.css +7 -1
  27. data/app/assets/stylesheets/gluttonberg.css +17 -0
  28. data/app/assets/stylesheets/redactor.css +864 -0
  29. data/app/assets/stylesheets/user-styles.sass +0 -3
  30. data/app/controllers/gluttonberg/admin/asset_library/assets_ajax_controller.rb +65 -0
  31. data/app/controllers/gluttonberg/admin/asset_library/assets_bulk_controller.rb +47 -0
  32. data/app/controllers/gluttonberg/admin/asset_library/assets_controller.rb +43 -266
  33. data/app/controllers/gluttonberg/admin/asset_library/base_controller.rb +29 -0
  34. data/app/controllers/gluttonberg/admin/asset_library/collections_controller.rb +11 -37
  35. data/app/controllers/gluttonberg/admin/base_controller.rb +117 -178
  36. data/app/controllers/gluttonberg/admin/content/auto_save_controller.rb +63 -0
  37. data/app/controllers/gluttonberg/admin/content/flag_controller.rb +6 -6
  38. data/app/controllers/gluttonberg/admin/content/galleries_controller.rb +29 -37
  39. data/app/controllers/gluttonberg/admin/content/page_localizations_controller.rb +82 -49
  40. data/app/controllers/gluttonberg/admin/content/pages_controller.rb +59 -32
  41. data/app/controllers/gluttonberg/admin/main_controller.rb +77 -7
  42. data/app/controllers/gluttonberg/admin/membership/base_controller.rb +2 -1
  43. data/app/controllers/gluttonberg/admin/membership/groups_controller.rb +27 -33
  44. data/app/controllers/gluttonberg/admin/membership/main_controller.rb +3 -2
  45. data/app/controllers/gluttonberg/admin/membership/members_controller.rb +37 -42
  46. data/app/controllers/gluttonberg/admin/password_resets_controller.rb +16 -28
  47. data/app/controllers/gluttonberg/admin/settings/configurations_controller.rb +101 -0
  48. data/app/controllers/gluttonberg/admin/settings/embeds_controller.rb +79 -0
  49. data/app/controllers/gluttonberg/admin/settings/locales_controller.rb +22 -28
  50. data/app/controllers/gluttonberg/admin/settings/stylesheets_controller.rb +31 -36
  51. data/app/controllers/gluttonberg/admin/settings/users_controller.rb +45 -40
  52. data/app/controllers/gluttonberg/base_controller.rb +95 -0
  53. data/app/controllers/gluttonberg/public/base_controller.rb +104 -157
  54. data/app/controllers/gluttonberg/public/flag_controller.rb +2 -7
  55. data/app/controllers/gluttonberg/public/gallery_controller.rb +1 -0
  56. data/app/controllers/gluttonberg/public/member_password_resets_controller.rb +5 -17
  57. data/app/controllers/gluttonberg/public/members_controller.rb +5 -15
  58. data/app/controllers/gluttonberg/public/pages_controller.rb +25 -14
  59. data/app/controllers/gluttonberg/public/public_assets_controller.rb +4 -2
  60. data/app/helpers/gluttonberg/admin.rb +86 -368
  61. data/app/helpers/gluttonberg/admin/assets.rb +84 -0
  62. data/app/helpers/gluttonberg/admin/form.rb +159 -0
  63. data/app/helpers/gluttonberg/admin/messages.rb +32 -0
  64. data/app/helpers/gluttonberg/admin/versioning.rb +196 -0
  65. data/app/helpers/gluttonberg/application_helper.rb +34 -7
  66. data/app/helpers/gluttonberg/asset_library.rb +29 -254
  67. data/app/helpers/gluttonberg/content_helpers.rb +17 -69
  68. data/app/helpers/gluttonberg/deprecated.rb +24 -0
  69. data/app/helpers/gluttonberg/public.rb +51 -244
  70. data/app/helpers/gluttonberg/public/assets.rb +31 -0
  71. data/app/helpers/gluttonberg/public/cms_stylesheets.rb +35 -0
  72. data/app/helpers/gluttonberg/public/html_truncate.rb +74 -0
  73. data/app/helpers/gluttonberg/public/meta_tags.rb +27 -0
  74. data/app/helpers/gluttonberg/public/nav_tree.rb +99 -0
  75. data/app/helpers/gluttonberg/public/page_info.rb +168 -0
  76. data/app/mailer/gluttonberg/base_notifier.rb +25 -0
  77. data/app/mailer/member_notifier.rb +8 -20
  78. data/app/mailer/notifier.rb +14 -39
  79. data/app/models/ability.rb +48 -34
  80. data/app/models/flag.rb +7 -7
  81. data/app/models/gluttonberg/asset.rb +115 -166
  82. data/app/models/gluttonberg/asset_bulk_import.rb +70 -0
  83. data/app/models/gluttonberg/asset_category.rb +75 -29
  84. data/app/models/gluttonberg/asset_collection.rb +65 -12
  85. data/app/models/gluttonberg/asset_mime_type.rb +5 -0
  86. data/app/models/gluttonberg/asset_thumbnail.rb +6 -1
  87. data/app/models/gluttonberg/asset_type.rb +49 -38
  88. data/app/models/gluttonberg/audio_asset_attribute.rb +7 -3
  89. data/app/models/gluttonberg/authorization.rb +10 -0
  90. data/app/models/gluttonberg/auto_save.rb +32 -0
  91. data/app/models/gluttonberg/collapsed_page.rb +13 -0
  92. data/app/models/gluttonberg/embed.rb +13 -0
  93. data/app/models/gluttonberg/feed.rb +14 -5
  94. data/app/models/gluttonberg/gallery.rb +35 -9
  95. data/app/models/gluttonberg/gallery_image.rb +9 -2
  96. data/app/models/gluttonberg/group.rb +18 -2
  97. data/app/models/gluttonberg/html_content.rb +5 -1
  98. data/app/models/gluttonberg/image_content.rb +5 -1
  99. data/app/models/gluttonberg/locale.rb +28 -9
  100. data/app/models/gluttonberg/member.rb +48 -197
  101. data/app/models/gluttonberg/page.rb +78 -288
  102. data/app/models/gluttonberg/page_localization.rb +63 -66
  103. data/app/models/gluttonberg/plain_text_content.rb +6 -0
  104. data/app/models/gluttonberg/repeater.rb +30 -0
  105. data/app/models/gluttonberg/search.rb +96 -72
  106. data/app/models/gluttonberg/select_content.rb +12 -0
  107. data/app/models/gluttonberg/setting.rb +79 -29
  108. data/app/models/gluttonberg/sitemap.rb +1 -0
  109. data/app/models/gluttonberg/stylesheet.rb +12 -6
  110. data/app/models/gluttonberg/textarea_content.rb +14 -0
  111. data/app/models/gluttonberg/version.rb +9 -0
  112. data/app/models/user.rb +137 -13
  113. data/app/observers/gluttonberg/locale_observer.rb +33 -22
  114. data/app/observers/gluttonberg/page_localization_observer.rb +22 -12
  115. data/app/observers/gluttonberg/page_observer.rb +50 -35
  116. data/app/views/{gluttonberg/public/exceptions → exceptions}/access_denied.html.haml +0 -0
  117. data/app/views/{gluttonberg/public/exceptions → exceptions}/not_found.html.haml +0 -0
  118. data/app/views/gluttonberg/admin/asset_library/assets/_browser_root.html.haml +17 -12
  119. data/app/views/gluttonberg/admin/asset_library/assets/_form.html.haml +5 -7
  120. data/app/views/gluttonberg/admin/asset_library/assets/browser.html.haml +5 -5
  121. data/app/views/gluttonberg/admin/asset_library/assets/show.html.haml +13 -7
  122. data/app/views/gluttonberg/admin/asset_library/assets/show.json.rabl +3 -0
  123. data/app/views/gluttonberg/admin/asset_library/{assets → assets_ajax}/browser_collection.json.haml +0 -0
  124. data/app/views/gluttonberg/admin/asset_library/{assets → assets_bulk}/add_assets_in_bulk.html.haml +6 -20
  125. data/app/views/gluttonberg/admin/asset_library/{assets → assets_bulk}/create_assets_in_bulk.html.haml +0 -0
  126. data/app/views/gluttonberg/admin/asset_library/collections/_form.html.haml +8 -5
  127. data/app/views/gluttonberg/admin/asset_library/shared/_asset_browser.html.haml +34 -0
  128. data/app/views/gluttonberg/admin/asset_library/shared/_asset_panels.html.haml +15 -11
  129. data/app/views/gluttonberg/admin/content/editors/_html_content.html.haml +2 -2
  130. data/app/views/gluttonberg/admin/content/editors/_select_content.html.haml +7 -0
  131. data/app/views/gluttonberg/admin/content/editors/_textarea_content.html.haml +6 -0
  132. data/app/views/gluttonberg/admin/content/flag/index.html.haml +48 -39
  133. data/app/views/gluttonberg/admin/content/galleries/_form.html.haml +46 -9
  134. data/app/views/gluttonberg/admin/content/galleries/_image_repeater.html.haml +30 -0
  135. data/app/views/gluttonberg/admin/content/galleries/edit.html.haml +1 -12
  136. data/app/views/gluttonberg/admin/content/galleries/index.html.haml +18 -9
  137. data/app/views/gluttonberg/admin/content/galleries/new.html.haml +1 -1
  138. data/app/views/gluttonberg/admin/content/main/_sidebar.html.haml +28 -16
  139. data/app/views/gluttonberg/admin/content/page_localizations/_form.html.haml +11 -20
  140. data/app/views/gluttonberg/admin/content/page_localizations/edit.html.haml +7 -0
  141. data/app/views/gluttonberg/admin/content/pages/_form.html.haml +11 -4
  142. data/app/views/gluttonberg/admin/content/pages/_page_settings.html.haml +4 -7
  143. data/app/views/gluttonberg/admin/content/pages/_row.html.haml +38 -30
  144. data/app/views/gluttonberg/admin/content/pages/index.html.haml +23 -15
  145. data/app/views/gluttonberg/admin/content/pages/pages_list_for_tinymce.html.haml +14 -3
  146. data/app/views/gluttonberg/admin/content/pages/show.html.haml +1 -1
  147. data/app/views/gluttonberg/admin/main/index.html.haml +13 -12
  148. data/app/views/gluttonberg/admin/main/waiting_for_approval.html.haml +33 -0
  149. data/app/views/gluttonberg/admin/membership/groups/index.html.haml +5 -5
  150. data/app/views/gluttonberg/admin/membership/members/_form.html.haml +3 -1
  151. data/app/views/gluttonberg/admin/membership/members/edit.html.haml +1 -0
  152. data/app/views/gluttonberg/admin/membership/members/index.html.haml +1 -1
  153. data/app/views/gluttonberg/admin/password_resets/edit.html.haml +36 -16
  154. data/app/views/gluttonberg/admin/password_resets/new.html.haml +19 -11
  155. data/app/views/gluttonberg/admin/settings/configurations/_form.html.haml +28 -0
  156. data/app/views/gluttonberg/admin/settings/configurations/_settings_table.html.haml +42 -0
  157. data/app/views/gluttonberg/admin/settings/{generic_settings → configurations}/_value_tag.html.haml +0 -0
  158. data/app/views/gluttonberg/admin/settings/configurations/edit.html.haml +4 -0
  159. data/app/views/gluttonberg/admin/settings/configurations/index.html.haml +31 -0
  160. data/app/views/gluttonberg/admin/settings/{generic_settings → configurations}/new.html.haml +2 -2
  161. data/app/views/gluttonberg/admin/settings/embeds/_form.html.haml +19 -0
  162. data/app/views/gluttonberg/admin/settings/embeds/edit.html.haml +12 -0
  163. data/app/views/gluttonberg/admin/settings/embeds/index.html.haml +36 -0
  164. data/app/views/gluttonberg/admin/settings/embeds/list_for_redactor.html.haml +29 -0
  165. data/app/views/gluttonberg/admin/settings/embeds/new.html.haml +12 -0
  166. data/app/views/gluttonberg/admin/settings/locales/edit.html.haml +9 -1
  167. data/app/views/gluttonberg/admin/settings/locales/index.html.haml +2 -1
  168. data/app/views/gluttonberg/admin/settings/locales/new.html.haml +10 -1
  169. data/app/views/gluttonberg/admin/settings/main/_sidebar.html.haml +9 -7
  170. data/app/views/gluttonberg/admin/settings/stylesheets/_form.html.haml +11 -9
  171. data/app/views/gluttonberg/admin/settings/stylesheets/edit.html.haml +11 -2
  172. data/app/views/gluttonberg/admin/settings/stylesheets/index.html.haml +45 -36
  173. data/app/views/gluttonberg/admin/settings/stylesheets/new.html.haml +11 -2
  174. data/app/views/gluttonberg/admin/settings/users/_form.html.haml +29 -18
  175. data/app/views/gluttonberg/admin/settings/users/index.html.haml +1 -1
  176. data/app/views/gluttonberg/admin/shared/_asset_panel.html.haml +19 -4
  177. data/app/views/gluttonberg/admin/shared/_auto_save_version.html.haml +12 -0
  178. data/app/views/gluttonberg/admin/shared/_datetime_field.html.haml +19 -0
  179. data/app/views/gluttonberg/admin/shared/_previous_version_warning.html.haml +5 -0
  180. data/app/views/gluttonberg/admin/shared/_version_alerts.html.haml +34 -0
  181. data/app/views/gluttonberg/admin/shared/_version_dashboard_notifications.html.haml +11 -0
  182. data/app/views/gluttonberg/admin/shared/_version_listing.html.haml +23 -0
  183. data/app/views/gluttonberg/admin/shared/delete.html.haml +21 -48
  184. data/app/views/gluttonberg/admin/shared/generic.html.haml +20 -19
  185. data/app/views/gluttonberg/admin/user_sessions/new.html.haml +14 -9
  186. data/app/views/gluttonberg/public/member_password_resets/edit.html.haml +2 -0
  187. data/app/views/gluttonberg/public/member_password_resets/new.html.haml +3 -0
  188. data/app/views/gluttonberg/public/members/_form.html.haml +3 -0
  189. data/app/views/gluttonberg/public/members/edit.html.haml +7 -9
  190. data/app/views/gluttonberg/public/members/show.html.haml +1 -3
  191. data/app/views/gluttonberg/public/pages/restrict_site_access.html.haml +3 -4
  192. data/app/views/gluttonberg/public/shared/_gallery_images_lis.html.haml +9 -0
  193. data/app/views/layouts/_flash_messages.html.haml +5 -3
  194. data/app/views/layouts/bare.html.haml +8 -17
  195. data/app/views/layouts/gluttonberg.html.haml +37 -44
  196. data/app/views/notifier/version_declined.html.haml +21 -0
  197. data/config/locales/en_au.yml +1 -1
  198. data/config/locales/en_gb.yml +2 -1
  199. data/config/routes.rb +70 -85
  200. data/db/migrate/20130801050257_create_repeater.rb +14 -0
  201. data/lib/audio_job.rb +11 -9
  202. data/lib/engine.rb +115 -72
  203. data/lib/generators/gluttonberg/resource/resource_generator.rb +51 -41
  204. data/lib/generators/gluttonberg/resource/templates/admin_controller.rb +16 -11
  205. data/lib/generators/gluttonberg/resource/templates/backend_view_edit.html.haml +7 -2
  206. data/lib/generators/gluttonberg/resource/templates/backend_view_form.html.haml +3 -14
  207. data/lib/generators/gluttonberg/resource/templates/backend_view_import.html.haml +10 -7
  208. data/lib/generators/gluttonberg/resource/templates/backend_view_index.html.haml +6 -5
  209. data/lib/generators/gluttonberg/resource/templates/backend_view_show.html.haml +2 -2
  210. data/lib/generators/gluttonberg/resource/templates/migration.rb +12 -1
  211. data/lib/generators/gluttonberg/resource/templates/model.rb +18 -1
  212. data/lib/generators/gluttonberg/resource/templates/public_view_index.html.haml +27 -10
  213. data/lib/generators/gluttonberg/resource/templates/public_view_show.html.haml +10 -4
  214. data/lib/gluttonberg.rb +68 -37
  215. data/lib/gluttonberg/can_flag.rb +64 -76
  216. data/lib/gluttonberg/components.rb +47 -24
  217. data/lib/gluttonberg/content.rb +15 -0
  218. data/lib/gluttonberg/content/block.rb +99 -85
  219. data/lib/gluttonberg/content/block_localization.rb +11 -8
  220. data/lib/gluttonberg/content/clean_html.rb +12 -15
  221. data/lib/gluttonberg/content/default_template_file.rb +44 -0
  222. data/lib/gluttonberg/content/despamilator/filter/naughty_words.rb +4 -2
  223. data/lib/gluttonberg/content/home_page_info.rb +39 -0
  224. data/lib/gluttonberg/content/import_export_csv.rb +243 -130
  225. data/lib/gluttonberg/content/localization.rb +137 -148
  226. data/lib/gluttonberg/content/page_children.rb +36 -0
  227. data/lib/gluttonberg/content/page_components.rb +23 -0
  228. data/lib/gluttonberg/content/page_description_info.rb +55 -0
  229. data/lib/gluttonberg/content/page_duplicate.rb +68 -0
  230. data/lib/gluttonberg/content/page_finder.rb +63 -0
  231. data/lib/gluttonberg/content/page_localization_slug.rb +89 -0
  232. data/lib/gluttonberg/content/page_repairer.rb +117 -0
  233. data/lib/gluttonberg/content/publishable.rb +77 -71
  234. data/lib/gluttonberg/content/slug_management.rb +74 -26
  235. data/lib/gluttonberg/content/validations.rb +58 -0
  236. data/lib/gluttonberg/content/versioning.rb +40 -22
  237. data/lib/gluttonberg/drag_tree.rb +0 -1
  238. data/lib/gluttonberg/drag_tree/action_controller.rb +49 -37
  239. data/lib/gluttonberg/drag_tree/action_view.rb +0 -6
  240. data/lib/gluttonberg/drag_tree/active_record.rb +49 -49
  241. data/lib/gluttonberg/extensions.rb +1 -0
  242. data/lib/gluttonberg/extensions/string.rb +20 -0
  243. data/lib/gluttonberg/gb_file.rb +30 -0
  244. data/lib/gluttonberg/helpers/form_builder.rb +91 -38
  245. data/lib/gluttonberg/library.rb +9 -90
  246. data/lib/gluttonberg/library/attachment_mixin.rb +88 -98
  247. data/lib/gluttonberg/library/config/image_sizes.rb +22 -19
  248. data/lib/gluttonberg/library/default_asset_types.rb +104 -0
  249. data/lib/gluttonberg/library/processor/audio.rb +32 -16
  250. data/lib/gluttonberg/library/processor/image.rb +78 -69
  251. data/lib/gluttonberg/library/quick_magick/image.rb +72 -319
  252. data/lib/gluttonberg/library/quick_magick/image/draw.rb +133 -0
  253. data/lib/gluttonberg/library/quick_magick/image/operators_and_settings.rb +78 -0
  254. data/lib/gluttonberg/library/quick_magick/image/serialization.rb +79 -0
  255. data/lib/gluttonberg/library/quick_magick/image_list.rb +0 -1
  256. data/lib/gluttonberg/library/storage/filesystem.rb +45 -46
  257. data/lib/gluttonberg/library/storage/s3.rb +123 -119
  258. data/lib/gluttonberg/membership.rb +9 -0
  259. data/lib/gluttonberg/membership/export.rb +82 -0
  260. data/lib/gluttonberg/membership/import.rb +179 -0
  261. data/lib/gluttonberg/middleware/honeypot.rb +1 -2
  262. data/lib/gluttonberg/middleware/locales.rb +69 -18
  263. data/lib/gluttonberg/middleware/rewriter.rb +57 -16
  264. data/lib/gluttonberg/mixin_manager.rb +19 -0
  265. data/lib/gluttonberg/page_description.rb +82 -112
  266. data/lib/gluttonberg/random_string_generator.rb +31 -0
  267. data/lib/gluttonberg/record_history.rb +5 -7
  268. data/lib/gluttonberg/tasks/asset.rake +19 -8
  269. data/lib/gluttonberg/tasks/gluttonberg.rake +167 -13
  270. data/lib/gluttonberg/templates.rb +1 -3
  271. data/lib/gluttonberg/version.rb +1 -1
  272. data/lib/photo_job.rb +16 -0
  273. data/spec/controllers/auto_save_controller_spec.rb +57 -0
  274. data/spec/controllers/record_history_spec.rb +75 -0
  275. data/spec/dummy/README.rdoc +261 -0
  276. data/spec/dummy/Rakefile +7 -0
  277. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  278. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  279. data/spec/dummy/app/controllers/admin/staff_profiles_controller.rb +56 -0
  280. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  281. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  282. data/spec/dummy/app/models/staff_profile.rb +20 -0
  283. data/spec/dummy/app/models/vendor_mixin.rb +14 -0
  284. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  285. data/spec/dummy/config.ru +4 -0
  286. data/spec/dummy/config/application.rb +18 -0
  287. data/spec/dummy/config/boot.rb +10 -0
  288. data/spec/dummy/config/database.yml +8 -0
  289. data/spec/dummy/config/environment.rb +5 -0
  290. data/spec/dummy/config/environments/development.rb +37 -0
  291. data/spec/dummy/config/environments/production.rb +67 -0
  292. data/spec/dummy/config/environments/test.rb +37 -0
  293. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  294. data/spec/dummy/config/initializers/gluttonberg_advance_settings.rb +73 -0
  295. data/spec/dummy/config/initializers/gluttonberg_basic_settings.rb +65 -0
  296. data/spec/dummy/config/initializers/gluttonberg_menu_settings.rb +1 -0
  297. data/spec/dummy/config/initializers/inflections.rb +15 -0
  298. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  299. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  300. data/spec/dummy/config/initializers/session_store.rb +8 -0
  301. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  302. data/spec/dummy/config/locales/en.yml +5 -0
  303. data/{lib/generators/gluttonberg/installer/templates → spec/dummy/config}/page_descriptions.rb +103 -65
  304. data/spec/dummy/config/routes.rb +10 -0
  305. data/spec/dummy/db/20130625060411_create_staff_profile.rb +35 -0
  306. data/spec/dummy/db/schema.rb +474 -0
  307. data/spec/dummy/public/404.html +26 -0
  308. data/spec/dummy/public/422.html +26 -0
  309. data/spec/dummy/public/500.html +25 -0
  310. data/spec/dummy/public/favicon.ico +0 -0
  311. data/spec/dummy/script/rails +6 -0
  312. data/spec/dummy/tmp/cache/041/891/setting_library_number_of_recent_assets +0 -0
  313. data/spec/dummy/tmp/cache/08E/741/setting_comment_number_of_emails_allowed +0 -0
  314. data/spec/dummy/tmp/cache/580/D10/setting_title +0 -0
  315. data/spec/dummy/tmp/cache/62E/160/setting_fb_icon +0 -0
  316. data/spec/dummy/tmp/cache/6D6/FB0/setting_keywords +0 -0
  317. data/spec/dummy/tmp/cache/6D8/B60/setting_s3_key_id +0 -0
  318. data/spec/dummy/tmp/cache/6E1/A40/setting_s3_bucket +0 -0
  319. data/spec/dummy/tmp/cache/779/DF0/setting_from_email +0 -0
  320. data/spec/dummy/tmp/cache/7C5/450/setting_title_site1 +0 -0
  321. data/spec/dummy/tmp/cache/7C6/460/setting_title_site2 +0 -0
  322. data/spec/dummy/tmp/cache/802/000/setting_description +0 -0
  323. data/spec/dummy/tmp/cache/836/DD0/setting_backend_logo +0 -0
  324. data/spec/dummy/tmp/cache/862/FA0/setting_audio_assets +1 -0
  325. data/spec/dummy/tmp/cache/867/4E0/setting_video_assets +0 -0
  326. data/spec/dummy/tmp/cache/867/710/setting_enable_WYSIWYG +0 -0
  327. data/spec/dummy/tmp/cache/873/9E0/setting_fb_icon_site1 +0 -0
  328. data/spec/dummy/tmp/cache/874/9F0/setting_fb_icon_site2 +0 -0
  329. data/spec/dummy/tmp/cache/87D/A10/setting_s3_access_key +0 -0
  330. data/spec/dummy/tmp/cache/8AC/280/setting_s3_server_url +0 -0
  331. data/spec/dummy/tmp/cache/91B/730/setting_keywords_site1 +0 -0
  332. data/spec/dummy/tmp/cache/91C/740/setting_keywords_site2 +0 -0
  333. data/spec/dummy/tmp/cache/933/980/setting_auto_save_time +0 -0
  334. data/spec/dummy/tmp/cache/9BE/290/setting_from_email_site1 +0 -0
  335. data/spec/dummy/tmp/cache/9BF/2A0/setting_from_email_site2 +0 -0
  336. data/spec/dummy/tmp/cache/A02/5E0/setting_google_analytics +0 -0
  337. data/spec/dummy/tmp/cache/A47/800/setting_description_site1 +0 -0
  338. data/spec/dummy/tmp/cache/A48/810/setting_description_site2 +0 -0
  339. data/spec/dummy/tmp/cache/A69/B60/setting_comment_blacklist +0 -0
  340. data/spec/dummy/tmp/cache/B5C/D40/setting_number_of_revisions +0 -0
  341. data/spec/dummy/tmp/cache/BB3/350/setting_restrict_site_access +0 -0
  342. data/spec/dummy/tmp/cache/BB7/620/setting_comment_notification +0 -0
  343. data/spec/dummy/tmp/cache/BFB/140/setting_comment_email_as_spam +0 -0
  344. data/spec/dummy/tmp/cache/C47/DE0/setting_google_analytics_site1 +0 -0
  345. data/spec/dummy/tmp/cache/C48/DF0/setting_google_analytics_site2 +0 -0
  346. data/spec/dummy/tmp/cache/D3E/E20/setting_number_of_per_page_items +0 -0
  347. data/spec/dummy/tmp/cache/DF8/DB0/setting_restrict_site_access_site1 +0 -0
  348. data/spec/dummy/tmp/cache/DF9/DC0/setting_restrict_site_access_site2 +0 -0
  349. data/spec/dummy/tmp/cache/DFC/200/setting_comment_notification_site1 +0 -0
  350. data/spec/dummy/tmp/cache/DFD/210/setting_comment_notification_site2 +0 -0
  351. data/spec/dummy/tmp/cache/FD9/200/setting_comment_number_of_urls_allowed +0 -0
  352. data/spec/fixtures/assets/assets_import.zip +0 -0
  353. data/spec/fixtures/assets/audio.mp3 +0 -0
  354. data/spec/fixtures/assets/c3-add-interactive.mov +0 -0
  355. data/spec/fixtures/assets/gb_banner.jpg +0 -0
  356. data/spec/fixtures/assets/gb_logo.png +0 -0
  357. data/spec/fixtures/assets/high_res_photo.jpg +0 -0
  358. data/spec/fixtures/assets/untitled +0 -0
  359. data/spec/fixtures/members.csv +5 -0
  360. data/spec/fixtures/staff_profiles.csv +4 -0
  361. data/spec/helpers/public/assets_spec.rb +73 -0
  362. data/spec/helpers/public/content_helpers_spec.rb +71 -0
  363. data/spec/helpers/public/html_truncate_spec.rb +37 -0
  364. data/spec/helpers/public/meta_tags_spec.rb +29 -0
  365. data/spec/helpers/public/page_info_spec.rb +233 -0
  366. data/spec/helpers/public_spec.rb +114 -0
  367. data/spec/lib/content/import_export_csv_spec.rb +177 -0
  368. data/spec/lib/content/localization_spec.rb +107 -0
  369. data/spec/lib/content/page_finder_spec.rb +71 -0
  370. data/spec/lib/content/page_repairer_spec.rb +151 -0
  371. data/spec/lib/content/publishable_spec.rb +54 -0
  372. data/spec/lib/content/validations_spec.rb +88 -0
  373. data/spec/lib/drag_tree/action_controller_spec.rb +137 -0
  374. data/spec/lib/drag_tree/active_record_spec.rb +86 -0
  375. data/spec/lib/library/s3_rspec.rb +78 -0
  376. data/spec/lib/membership/export_spec.rb +89 -0
  377. data/spec/lib/membership/import_spec.rb +68 -0
  378. data/spec/lib/middleware/locales_spec.rb +192 -0
  379. data/spec/lib/middleware/rewriter_spec.rb +186 -0
  380. data/spec/lib/page_description_spec.rb +68 -0
  381. data/spec/mailers/member_notifier_spec.rb +140 -0
  382. data/spec/mailers/notifier_spec.rb +86 -0
  383. data/spec/models/asset_bulk_import_spec.rb +43 -0
  384. data/spec/models/asset_category_spec.rb +77 -0
  385. data/spec/models/asset_collection_spec.rb +72 -0
  386. data/spec/models/asset_spec.rb +278 -0
  387. data/spec/models/asset_type_spec.rb +109 -0
  388. data/spec/models/member_spec.rb +128 -0
  389. data/spec/models/page_localization_spec.rb +81 -0
  390. data/spec/models/page_spec.rb +221 -0
  391. data/spec/models/setting_spec.rb +49 -0
  392. data/spec/models/user_spec.rb +385 -0
  393. data/spec/observers/locale_observer_spec.rb +79 -0
  394. data/spec/observers/page_localization_observer_spec.rb +87 -0
  395. data/spec/observers/page_observer_spec.rb +130 -0
  396. data/spec/spec_helper.rb +90 -0
  397. metadata +508 -331
  398. data/app/assets/images/gb_360-button-pause-light.gif +0 -0
  399. data/app/assets/images/gb_360-button-pause-light.png +0 -0
  400. data/app/assets/images/gb_360-button-pause.gif +0 -0
  401. data/app/assets/images/gb_360-button-pause.png +0 -0
  402. data/app/assets/images/gb_360-button-play-light.gif +0 -0
  403. data/app/assets/images/gb_360-button-play-light.png +0 -0
  404. data/app/assets/images/gb_360-button-play.gif +0 -0
  405. data/app/assets/images/gb_360-button-play.png +0 -0
  406. data/app/assets/images/gb_360-button-vis-pause-light.gif +0 -0
  407. data/app/assets/images/gb_360-button-vis-pause-light.png +0 -0
  408. data/app/assets/images/gb_360-button-vis-pause.gif +0 -0
  409. data/app/assets/images/gb_360-button-vis-pause.png +0 -0
  410. data/app/assets/images/gb_360-button-vis-play-light.gif +0 -0
  411. data/app/assets/images/gb_360-button-vis-play-light.png +0 -0
  412. data/app/assets/images/gb_360-button-vis-play.gif +0 -0
  413. data/app/assets/images/gb_360-button-vis-play.png +0 -0
  414. data/app/assets/images/gb_button_bkg_grey.gif +0 -0
  415. data/app/assets/images/gb_icon_content_2.png +0 -0
  416. data/app/assets/images/gb_icon_dash.png +0 -0
  417. data/app/assets/images/gb_icon_library_2.png +0 -0
  418. data/app/assets/images/gb_page_content_fillin.gif +0 -0
  419. data/app/assets/images/gb_spinner_for_dialouge.gif +0 -0
  420. data/app/assets/images/gb_sub_nav_back_bkg.gif +0 -0
  421. data/app/assets/images/gb_subnav_bkg.gif +0 -0
  422. data/app/assets/images/gb_table_head_bkg.gif +0 -0
  423. data/app/assets/images/gb_wrapper_bkg.png +0 -0
  424. data/app/assets/images/gb_wysiwyg.png +0 -0
  425. data/app/assets/images/help/gb_help.jpg +0 -0
  426. data/app/assets/images/icons/gb_collapsed.png +0 -0
  427. data/app/assets/images/icons/gb_expanded.png +0 -0
  428. data/app/assets/images/library/gb_back.gif +0 -0
  429. data/app/assets/images/library/gb_dialog_overlay.png +0 -0
  430. data/app/assets/images/library/gb_inactive_tab.jpg +0 -0
  431. data/app/assets/images/library/gb_search_icon.gif +0 -0
  432. data/app/assets/images/library/gb_wysiwyg_pic.png +0 -0
  433. data/app/assets/javascripts/gb_ajaxfileupload.js +0 -205
  434. data/app/assets/javascripts/gb_berniecode-animator.js +0 -674
  435. data/app/assets/javascripts/gb_bootstrap-datepicker.js +0 -501
  436. data/app/assets/javascripts/gb_expander.js +0 -81
  437. data/app/assets/javascripts/gb_jquery-dragTree.js +0 -525
  438. data/app/assets/javascripts/gb_jquery-tagarea.js +0 -404
  439. data/app/assets/javascripts/gb_login.js +0 -33
  440. data/app/assets/javascripts/gb_tags.js +0 -177
  441. data/app/assets/javascripts/jquery-1-7-1.js +0 -9267
  442. data/app/assets/javascripts/jquery-dimensions-min.js +0 -12
  443. data/app/assets/javascripts/jquery-ui-1-8-23-custom-min.js +0 -85
  444. data/app/assets/javascripts/tiny_mce/jquery.tinymce.js +0 -1
  445. data/app/assets/javascripts/tiny_mce/langs/en.js +0 -223
  446. data/app/assets/javascripts/tiny_mce/plugins/advhr/css/advhr.css +0 -5
  447. data/app/assets/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +0 -1
  448. data/app/assets/javascripts/tiny_mce/plugins/advhr/js/rule.js +0 -43
  449. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +0 -7
  450. data/app/assets/javascripts/tiny_mce/plugins/advhr/rule.htm +0 -58
  451. data/app/assets/javascripts/tiny_mce/plugins/advlink/css/advlink.css +0 -8
  452. data/app/assets/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +0 -61
  453. data/app/assets/javascripts/tiny_mce/plugins/advlink/js/advlink.js +0 -564
  454. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +0 -54
  455. data/app/assets/javascripts/tiny_mce/plugins/advlink/link.htm +0 -355
  456. data/app/assets/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +0 -1
  457. data/app/assets/javascripts/tiny_mce/plugins/autolink/editor_plugin.js +0 -1
  458. data/app/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -1
  459. data/app/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -109
  460. data/app/assets/javascripts/tiny_mce/plugins/gb_assets/editor_plugin.js +0 -47
  461. data/app/assets/javascripts/tiny_mce/plugins/gb_assets/editor_plugin_src.js +0 -43
  462. data/app/assets/javascripts/tiny_mce/plugins/gb_assets/emotions.htm +0 -41
  463. data/app/assets/javascripts/tiny_mce/plugins/gb_assets/js/emotions.js +0 -22
  464. data/app/assets/javascripts/tiny_mce/plugins/gb_assets/langs/en_dlg.js +0 -20
  465. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -1
  466. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  467. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  468. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  469. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  470. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  471. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  472. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  473. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -90
  474. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +0 -387
  475. data/app/assets/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +0 -1
  476. data/app/assets/javascripts/tiny_mce/plugins/lists/editor_plugin.js +0 -1
  477. data/app/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +0 -1
  478. data/app/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +0 -36
  479. data/app/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +0 -51
  480. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +0 -5
  481. data/app/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +0 -27
  482. data/app/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +0 -21
  483. data/app/assets/javascripts/tiny_mce/plugins/preview/editor_plugin.js +0 -1
  484. data/app/assets/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +0 -73
  485. data/app/assets/javascripts/tiny_mce/plugins/preview/preview.html +0 -18
  486. data/app/assets/javascripts/tiny_mce/plugins/style/css/props.css +0 -13
  487. data/app/assets/javascripts/tiny_mce/plugins/style/editor_plugin.js +0 -1
  488. data/app/assets/javascripts/tiny_mce/plugins/style/js/props.js +0 -635
  489. data/app/assets/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +0 -70
  490. data/app/assets/javascripts/tiny_mce/plugins/style/props.htm +0 -838
  491. data/app/assets/javascripts/tiny_mce/plugins/table/cell.htm +0 -180
  492. data/app/assets/javascripts/tiny_mce/plugins/table/css/cell.css +0 -17
  493. data/app/assets/javascripts/tiny_mce/plugins/table/css/row.css +0 -25
  494. data/app/assets/javascripts/tiny_mce/plugins/table/css/table.css +0 -13
  495. data/app/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +0 -1
  496. data/app/assets/javascripts/tiny_mce/plugins/table/js/cell.js +0 -319
  497. data/app/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +0 -27
  498. data/app/assets/javascripts/tiny_mce/plugins/table/js/row.js +0 -237
  499. data/app/assets/javascripts/tiny_mce/plugins/table/js/table.js +0 -450
  500. data/app/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +0 -75
  501. data/app/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +0 -32
  502. data/app/assets/javascripts/tiny_mce/plugins/table/row.htm +0 -158
  503. data/app/assets/javascripts/tiny_mce/plugins/table/table.htm +0 -188
  504. data/app/assets/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +0 -1
  505. data/app/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +0 -26
  506. data/app/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +0 -1
  507. data/app/assets/javascripts/tiny_mce/themes/advanced/editor_template_src.js +0 -1358
  508. data/app/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  509. data/app/assets/javascripts/tiny_mce/themes/advanced/img/trans.gif +0 -0
  510. data/app/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +0 -42
  511. data/app/assets/javascripts/tiny_mce/themes/advanced/js/link.js +0 -153
  512. data/app/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +0 -56
  513. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +0 -68
  514. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +0 -54
  515. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +0 -47
  516. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +0 -117
  517. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  518. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  519. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  520. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  521. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  522. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  523. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +0 -227
  524. data/app/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +0 -25
  525. data/app/assets/javascripts/tiny_mce/tiny_mce.js +0 -1
  526. data/app/assets/javascripts/tiny_mce/tiny_mce_popup.js +0 -5
  527. data/app/assets/javascripts/tiny_mce/utils/editable_selects.js +0 -70
  528. data/app/assets/javascripts/tiny_mce/utils/form_utils.js +0 -210
  529. data/app/assets/javascripts/tiny_mce/utils/mctabs.js +0 -162
  530. data/app/assets/javascripts/tiny_mce/utils/validate.js +0 -252
  531. data/app/controllers/gluttonberg/admin/content/articles_controller.rb +0 -139
  532. data/app/controllers/gluttonberg/admin/content/blogs_controller.rb +0 -101
  533. data/app/controllers/gluttonberg/admin/content/comments_controller.rb +0 -130
  534. data/app/controllers/gluttonberg/admin/content/main_controller.rb +0 -13
  535. data/app/controllers/gluttonberg/admin/help_controller.rb +0 -15
  536. data/app/controllers/gluttonberg/admin/settings/generic_settings_controller.rb +0 -90
  537. data/app/controllers/gluttonberg/admin/settings/main_controller.rb +0 -11
  538. data/app/controllers/gluttonberg/public/articles_controller.rb +0 -79
  539. data/app/controllers/gluttonberg/public/blogs_controller.rb +0 -44
  540. data/app/controllers/gluttonberg/public/comments_controller.rb +0 -46
  541. data/app/models/gluttonberg/article.rb +0 -73
  542. data/app/models/gluttonberg/article_localization.rb +0 -21
  543. data/app/models/gluttonberg/blog.rb +0 -19
  544. data/app/models/gluttonberg/comment.rb +0 -142
  545. data/app/models/gluttonberg/comment_subscription.rb +0 -28
  546. data/app/models/gluttonberg/help.rb +0 -48
  547. data/app/views/gluttonberg/admin/content/articles/_form.html.haml +0 -115
  548. data/app/views/gluttonberg/admin/content/articles/edit.html.haml +0 -11
  549. data/app/views/gluttonberg/admin/content/articles/index.html.haml +0 -71
  550. data/app/views/gluttonberg/admin/content/articles/new.html.haml +0 -11
  551. data/app/views/gluttonberg/admin/content/blogs/_form.html.haml +0 -56
  552. data/app/views/gluttonberg/admin/content/blogs/edit.html.haml +0 -3
  553. data/app/views/gluttonberg/admin/content/blogs/index.html.haml +0 -35
  554. data/app/views/gluttonberg/admin/content/blogs/new.html.haml +0 -10
  555. data/app/views/gluttonberg/admin/content/comments/index.html.haml +0 -66
  556. data/app/views/gluttonberg/admin/content/galleries/_images_list.html.haml +0 -21
  557. data/app/views/gluttonberg/admin/content/galleries/add_image.html.haml +0 -1
  558. data/app/views/gluttonberg/admin/content/main/index.html.haml +0 -20
  559. data/app/views/gluttonberg/admin/content/pages/edit_home.html.haml +0 -11
  560. data/app/views/gluttonberg/admin/exceptions/internal_server_error.html.haml +0 -11
  561. data/app/views/gluttonberg/admin/exceptions/not_acceptable.html.haml +0 -9
  562. data/app/views/gluttonberg/admin/membership/main/index.html.haml +0 -11
  563. data/app/views/gluttonberg/admin/settings/generic_settings/_form.html.haml +0 -26
  564. data/app/views/gluttonberg/admin/settings/generic_settings/edit.html.haml +0 -4
  565. data/app/views/gluttonberg/admin/settings/generic_settings/index.html.haml +0 -58
  566. data/app/views/gluttonberg/admin/settings/main/index.html.haml +0 -18
  567. data/app/views/gluttonberg/public/articles/index.rss.builder +0 -21
  568. data/app/views/gluttonberg/public/blogs/show.rss.builder +0 -21
  569. data/app/views/gluttonberg/public/exceptions/internal_server_error.html.haml +0 -11
  570. data/app/views/gluttonberg/public/exceptions/not_acceptable.html.haml +0 -9
  571. data/app/views/help/gluttonberg/admin/AssetLibrary/assets/add_assets_in_bulk.html.haml +0 -41
  572. data/app/views/help/gluttonberg/admin/AssetLibrary/assets/edit.html.haml +0 -61
  573. data/app/views/help/gluttonberg/admin/AssetLibrary/assets/index.html.haml +0 -16
  574. data/app/views/help/gluttonberg/admin/AssetLibrary/assets/new.html.haml +0 -57
  575. data/app/views/help/gluttonberg/admin/AssetLibrary/collections/edit.html.haml +0 -15
  576. data/app/views/help/gluttonberg/admin/AssetLibrary/collections/index.html.haml +0 -41
  577. data/app/views/help/gluttonberg/admin/AssetLibrary/collections/new.html.haml +0 -15
  578. data/app/views/help/gluttonberg/admin/AssetLibrary/main/index.html.haml +0 -34
  579. data/app/views/help/gluttonberg/admin/content/page_localizations/edit.html.haml +0 -89
  580. data/app/views/help/gluttonberg/admin/content/pages/_page_description_help.html.haml +0 -14
  581. data/app/views/help/gluttonberg/admin/content/pages/edit.html.haml +0 -62
  582. data/app/views/help/gluttonberg/admin/content/pages/index.html.haml +0 -111
  583. data/app/views/help/gluttonberg/admin/content/pages/new.html.haml +0 -61
  584. data/app/views/help/gluttonberg/admin/settings/dialects/edit.html.haml +0 -47
  585. data/app/views/help/gluttonberg/admin/settings/dialects/index.html.haml +0 -50
  586. data/app/views/help/gluttonberg/admin/settings/dialects/new.html.haml +0 -47
  587. data/app/views/help/gluttonberg/admin/settings/generic_settings/index.html.haml +0 -74
  588. data/app/views/help/gluttonberg/admin/settings/locales/edit.html.haml +0 -71
  589. data/app/views/help/gluttonberg/admin/settings/locales/index.html.haml +0 -57
  590. data/app/views/help/gluttonberg/admin/settings/locales/new.html.haml +0 -71
  591. data/app/views/help/gluttonberg/admin/settings/users/edit.html.haml +0 -63
  592. data/app/views/help/gluttonberg/admin/settings/users/index.html.haml +0 -60
  593. data/app/views/help/gluttonberg/admin/settings/users/new.html.haml +0 -69
  594. data/app/views/notifier/comment_notification.html.haml +0 -17
  595. data/app/views/notifier/comment_notification_for_admin.html.haml +0 -19
  596. data/db/migrate/20121106025800_add_artist_and_link_to_assets.rb +0 -6
  597. data/lib/acts_as_versioned.rb +0 -496
  598. data/lib/generators/gluttonberg/blog/blog_generator.rb +0 -46
  599. data/lib/generators/gluttonberg/blog/templates/articles_index.html.haml +0 -18
  600. data/lib/generators/gluttonberg/blog/templates/articles_show.html.haml +0 -63
  601. data/lib/generators/gluttonberg/blog/templates/articles_tag.html.haml +0 -24
  602. data/lib/generators/gluttonberg/blog/templates/blog_migration.rb +0 -90
  603. data/lib/generators/gluttonberg/blog/templates/blogs_index.html.haml +0 -15
  604. data/lib/generators/gluttonberg/blog/templates/blogs_show.html.haml +0 -25
  605. data/lib/generators/gluttonberg/installer/USAGE +0 -1
  606. data/lib/generators/gluttonberg/installer/installer_generator.rb +0 -106
  607. data/lib/generators/gluttonberg/installer/templates/delayed_job_script +0 -5
  608. data/lib/generators/gluttonberg/installer/templates/gluttonberg_migration.rb +0 -368
  609. data/lib/generators/gluttonberg/installer/templates/public.html.haml +0 -24
  610. data/lib/generators/gluttonberg/installer/templates/sitemap.rb +0 -70
  611. data/lib/gluttonberg/authorizable.rb +0 -51
  612. data/lib/gluttonberg/helpers.rb +0 -20
  613. data/lib/rails/railties/tasks.rake +0 -3
@@ -1,46 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/migration'
3
-
4
- class Gluttonberg::BlogGenerator < Rails::Generators::Base
5
- include Rails::Generators::Migration
6
-
7
- def self.source_root
8
- @source_root ||= File.join(File.dirname(__FILE__), 'templates')
9
- end
10
-
11
- def self.next_migration_number(dirname)
12
- if ActiveRecord::Base.timestamped_migrations
13
- Time.now.utc.strftime("%Y%m%d%H%M%S")
14
- else
15
- "%.3d" % (current_migration_number(dirname) + 1)
16
- end
17
- end
18
-
19
- def create_migration_file
20
- migration_template 'blog_migration.rb', 'db/migrate/blog_migration.rb'
21
- end
22
-
23
- def generate_views
24
- build_views
25
- end
26
-
27
- protected
28
-
29
- def build_views
30
- views = {
31
- 'blogs_index.html.haml' => File.join('app/views/gluttonberg/public/blogs', "index.html.haml"),
32
- 'blogs_show.html.haml' => File.join('app/views/gluttonberg/public/blogs', "show.html.haml"),
33
- 'articles_index.html.haml' => File.join('app/views/gluttonberg/public/articles', "index.html.haml"),
34
- 'articles_show.html.haml' => File.join('app/views/gluttonberg/public/articles', "show.html.haml"),
35
- 'articles_tag.html.haml' => File.join('app/views/gluttonberg/public/articles', "tag.html.haml")
36
- }
37
- copy_views(views)
38
- end
39
-
40
- def copy_views(views)
41
- views.each do |template_name, output_path|
42
- template template_name, output_path
43
- end
44
- end
45
-
46
- end
@@ -1,18 +0,0 @@
1
- %h1
2
- = @blog.name
3
-
4
- #articles
5
- - @articles.each do |article|
6
- .article
7
- %h2
8
- - if Gluttonberg.localized?
9
- = link_to article.title, blog_article_path(current_localization_slug ,@blog.slug, article.slug)
10
- - else
11
- = link_to article.title, blog_article_path(:blog_id => @blog.slug, :id => article.slug)
12
- by
13
- = article.author.full_name
14
- %p
15
- = asset_tag(article.featured_image , :small_thumb)
16
- = article.excerpt.html_safe
17
-
18
-
@@ -1,63 +0,0 @@
1
- %h1
2
- = @blog.name
3
-
4
- #articles
5
- .article
6
- %h2
7
- = @article.title
8
- by
9
- = @article.author.full_name
10
- = asset_tag(@article.featured_image , :small_thumb)
11
- %p
12
- = @article.body.html_safe
13
- - unless @article.commenting_disabled?
14
- #comments
15
- %h3
16
- Comments
17
-
18
- - if @comments.blank?
19
- %p
20
- There are no comments.
21
- - else
22
- - @comments.each do |comment|
23
- .comment
24
- .content
25
- = comment.body
26
- .author
27
- - if comment.author.blank?
28
- Anonymous
29
- - else
30
- = comment.author.full_name
31
- .time
32
- = time_ago_in_words(comment.created_at)
33
- ago
34
- %br
35
-
36
- #new_comment
37
- = form_for(:comment, :url => blog_article_comments_path(current_localization_slug , @blog.slug, @article.slug)) do |f|
38
- %p
39
- = f.label :name
40
- %br
41
- = f.text_field :author_name
42
- %p
43
- = f.label :email
44
- %br
45
- = f.text_field :author_email
46
- %p
47
- = f.label :website
48
- %br
49
- = f.text_field :author_website
50
- %p
51
- = f.label :body , "Comment"
52
- %br
53
- = f.text_area :body
54
- %p
55
- = f.label :subscribe_to_comments
56
- %br
57
- = f.check_box :subscribe_to_comments
58
-
59
-
60
- = honeypot_field_tag
61
-
62
- %p
63
- = f.submit
@@ -1,24 +0,0 @@
1
- %h1
2
- = params[:tag]
3
-
4
- #articles
5
- - @articles.each do |article|
6
- .article
7
- %h2
8
- - if Gluttonberg.localized?
9
- = link_to article.title, blog_article_path(current_localization_slug , article.blog.slug, article.slug)
10
- - else
11
- = link_to article.title, blog_article_path(:blog_id => @blog.slug, :id => article.slug)
12
- by
13
- = article.author.full_name
14
- %p
15
- = article.excerpt
16
-
17
- .tags_cloud
18
- - tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class|
19
-
20
- - if Gluttonberg.localized?
21
- = link_to tag.name, articles_by_tag_path(current_localization_slug ,tag.name), :class => css_class
22
- - else
23
- = link_to tag.name, articles_by_tag_path(:tag => tag.name), :class => css_class
24
-
@@ -1,90 +0,0 @@
1
- class BlogMigration < ActiveRecord::Migration
2
- def self.up
3
- create_table :gb_blogs do |t|
4
- t.string :name, :null => false
5
- t.string :slug, :null => false
6
- t.text :description
7
- t.integer :user_id, :null => false
8
- t.column :state , :string
9
- t.boolean :moderation_required, :default => true
10
- t.string :seo_title
11
- t.text :seo_keywords
12
- t.text :seo_description
13
- t.integer :fb_icon_id
14
- t.string :previous_slug
15
- t.datetime :published_at
16
- t.timestamps
17
- end
18
-
19
- create_table :gb_articles do |t|
20
- t.string :slug, :null => false
21
- t.integer :blog_id, :null => false
22
- t.integer :user_id, :null => false
23
- t.integer :author_id, :null => false
24
- t.column :state , :string #use for publishing
25
- t.column :disable_comments , :boolean , :default => false
26
- t.datetime :published_at
27
- t.string :previous_slug
28
- t.timestamps
29
- end
30
-
31
- create_table :gb_comments do |t|
32
- t.text :body
33
- t.string :author_name
34
- t.string :author_email
35
- t.string :author_website
36
- t.references :commentable, :polymorphic => true
37
- t.integer :author_id
38
- t.boolean :moderation_required, :default => true
39
- t.boolean :approved, :default => false
40
- t.datetime :notification_sent_at
41
- t.boolean :spam , :default => false
42
- t.float :spam_score
43
- t.timestamps
44
- end
45
-
46
- create_table :gb_comment_subscriptions do |t|
47
- t.integer :article_id
48
- t.string :author_name
49
- t.string :author_email
50
- t.string :reference_hash
51
- t.timestamps
52
- end
53
-
54
- create_table :gb_article_localizations do |t|
55
- t.string :title, :null => false
56
- t.text :excerpt
57
- t.text :body
58
- t.integer :featured_image_id
59
- t.column :article_id, :integer
60
- t.column :locale_id, :integer
61
- t.column :version, :integer
62
- t.string :seo_title
63
- t.text :seo_keywords
64
- t.text :seo_description
65
- t.integer :fb_icon_id
66
- t.timestamps
67
- end
68
-
69
- begin
70
- Gluttonberg::Blog.create_versioned_table
71
- rescue => e
72
- puts e
73
- end
74
-
75
- begin
76
- Gluttonberg::ArticleLocalization.create_versioned_table
77
- rescue => e
78
- puts e
79
- end
80
-
81
- end
82
-
83
- def self.down
84
- drop_table :gb_comments
85
- drop_table :gb_articles
86
- drop_table :gb_article_localizations
87
- drop_table :gb_blogs
88
- drop_table :gb_comment_subscriptions
89
- end
90
- end
@@ -1,15 +0,0 @@
1
- %h1
2
- Available Blogs
3
-
4
- #blogs
5
- - if @blogs.blank?
6
- %p
7
- There are no blogs yet.
8
- - else
9
- - @blogs.each do |blog|
10
- .blog
11
- - if Gluttonberg.localized?
12
- = link_to blog.name, blog_path(current_localization_slug , blog.slug)
13
- - else
14
- = link_to blog.name, blog_path(:id => blog.slug)
15
-
@@ -1,25 +0,0 @@
1
- %h1
2
- = @blog.name
3
-
4
- #articles
5
- - @articles.each do |article|
6
- .article
7
- %h2
8
- - if Gluttonberg.localized?
9
- = link_to article.title, blog_article_path(current_localization_slug , @blog.slug, article.slug)
10
- - else
11
- = link_to article.title, blog_article_path(:blog_id => @blog.slug, :id => article.slug)
12
-
13
-
14
- by
15
- = article.author.full_name
16
- %p
17
- = article.excerpt
18
-
19
- .tags_cloud
20
- - tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class|
21
- - if Gluttonberg.localized?
22
- = link_to tag.name, articles_by_tag_path(current_localization_slug ,tag.name), :class => css_class
23
- - else
24
- = link_to tag.name, articles_by_tag_path(:tag => tag.name), :class => css_class
25
-
@@ -1 +0,0 @@
1
- TODO
@@ -1,106 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/migration'
3
-
4
- class Gluttonberg::InstallerGenerator < Rails::Generators::Base
5
- include Rails::Generators::Migration
6
-
7
- def self.source_root
8
- @source_root ||= File.join(File.dirname(__FILE__), 'templates')
9
- end
10
-
11
- def self.next_migration_number(dirname)
12
- if ActiveRecord::Base.timestamped_migrations
13
- Time.now.utc.strftime("%Y%m%d%H%M%S")
14
- else
15
- "%.3d" % (current_migration_number(dirname) + 1)
16
- end
17
- end
18
-
19
- def create_delayed_job_script_file
20
- template 'delayed_job_script', 'script/delayed_job'
21
- chmod 'script/delayed_job', 0755
22
- end
23
-
24
- def create_migration_file
25
- migration_template 'gluttonberg_migration.rb', 'db/migrate/gluttonberg_migration.rb'
26
- rake("gluttonberg_engine:install:migrations")
27
- end
28
-
29
- def create_page_descriptions_file
30
- copy_file 'page_descriptions.rb', 'config/page_descriptions.rb'
31
- end
32
-
33
- def create_sitemaprb_file
34
- copy_file 'sitemap.rb', 'config/sitemap.rb'
35
- end
36
-
37
- def create_default_public_layout
38
- #create pages folder
39
- path = File.join(Rails.root, "app", "views" , "pages" )
40
- FileUtils.mkdir(path) unless File.exists?(path)
41
- #copy layout into host app
42
- template "public.html.haml", File.join('app/views/layouts', "public.html.haml")
43
- end
44
-
45
- def run_migration
46
- rake("db:migrate")
47
- end
48
-
49
- def bootstrap_data
50
- rake("gluttonberg:library:bootstrap")
51
- rake("gluttonberg:generate_default_locale")
52
- rake("gluttonberg:generate_or_update_default_settings")
53
- end
54
-
55
- def localization_config
56
-
57
- application %{
58
- # Gluttonberg Related config
59
-
60
- # config.cms_based_public_css = false
61
- # config.custom_css_for_cms = false
62
- # config.custom_js_for_cms = false
63
- config.localize = false
64
- # By Default gluttonberg applications are localized. If you do not want localized application then uncomment following line.
65
-
66
- # By default membership system is disabled. uncommenting following line make it enabled.
67
- # if email_verification is true then newly registered members have to verify their email address
68
- # config.enable_members = {:email_verification => true}
69
-
70
- # By default photo gallery is not visible in backend.
71
- # config.enable_gallery = true
72
-
73
- # You can customize your thumbnails. For geometry values please read ImageMagick documentation
74
- config.thumbnails = {
75
- :jwysiwyg_image => {:label => "Thumb for jwysiwyg", :filename => "_jwysiwyg_image", :geometry => "250x200"}
76
- }
77
- config.filter_parameters += [:password_confirmation]
78
-
79
- }
80
-
81
- end
82
-
83
- def add_memory_store_config_in_production
84
- data = []
85
- file_path = File.join(Rails.root, "config", "environments" , "production.rb" )
86
- file = File.new(file_path)
87
-
88
- file.each_line do |line|
89
- data << line
90
- end
91
-
92
- file.close
93
-
94
- file = File.new(file_path , "w" )
95
- data.reverse.each_with_index do |line, index|
96
- if line.include?("end")
97
- data[data.length-index-1] = " config.cache_store = :memory_store\nend\n"
98
- break
99
- end
100
- end
101
- file.puts(data.join(""))
102
- file.close
103
- end
104
-
105
- end
106
-
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
4
- require 'delayed/command'
5
- Delayed::Command.new(ARGV).daemonize
@@ -1,368 +0,0 @@
1
- class GluttonbergMigration < ActiveRecord::Migration
2
- def self.up
3
-
4
- create_table :gb_plain_text_content_localizations do |t|
5
- t.column :created_at, :timestamp
6
- t.column :updated_at, :timestamp
7
- t.column :page_localization_id, :integer
8
- t.column :text, :string, :limit => 255
9
- t.column :plain_text_content_id, :integer
10
- t.column :version, :integer
11
- end
12
-
13
- create_table :gb_html_contents do |t|
14
- t.column :orphaned, :boolean, :default => false
15
- t.column :section_name, :string, :limit => 50
16
- t.column :created_at, :timestamp
17
- t.column :updated_at, :timestamp
18
- t.column :page_id, :integer
19
- end
20
-
21
- create_table :gb_html_content_localizations do |t|
22
- t.column :created_at, :timestamp
23
- t.column :updated_at, :timestamp
24
- t.column :text, :text
25
- t.column :html_content_id, :integer
26
- t.column :page_localization_id, :integer
27
- t.column :version, :integer
28
- end
29
-
30
- create_table :gb_image_contents do |t|
31
- t.column :orphaned, :boolean, :default => false
32
- t.column :section_name, :string, :limit => 50
33
- t.column :created_at, :timestamp
34
- t.column :updated_at, :timestamp
35
- t.column :asset_id, :integer
36
- t.column :page_id, :integer
37
- t.column :version, :integer
38
- end
39
-
40
- create_table :gb_locales do |t|
41
- t.column :name, :string, :limit => 70, :null => false
42
- t.column :slug, :string, :limit => 70, :null => false
43
- t.column :slug_type, :string, :limit => 70, :null => false # prefix , subdomain
44
- t.column :default, :boolean, :default => false
45
- end
46
-
47
- create_table :gb_settings do |t|
48
- t.column :name, :string, :limit => 50, :null => false
49
- t.column :value, :text
50
- t.column :category, :integer, :default => 1
51
- t.column :row, :integer
52
- t.column :delete_able, :boolean, :default => true
53
- t.column :enabled, :boolean, :default => true
54
- t.column :help, :text
55
- t.column :values_list, :text
56
- end
57
-
58
- create_table :gb_page_localizations do |t|
59
- t.column :name, :string, :limit => 150
60
- t.column :navigation_label, :string, :limit => 100
61
- t.column :slug, :string, :limit => 50
62
- t.column :path, :string, :limit => 255
63
- t.column :created_at, :timestamp
64
- t.column :updated_at, :timestamp
65
- t.column :locale_id, :integer
66
- t.column :page_id, :integer
67
- t.column :seo_title , :string , :limit => 255
68
- t.column :seo_keywords , :text
69
- t.column :seo_description , :text
70
- t.column :fb_icon_id , :integer
71
- t.column :previous_path , :string
72
- end
73
-
74
- create_table :gb_pages do |t|
75
- t.column :parent_id, :integer
76
- t.column :name, :string, :limit => 100
77
- t.column :navigation_label, :string, :limit => 100
78
- t.column :slug, :string, :limit => 100
79
- t.column :description_name, :string, :limit => 100
80
- t.column :home, :boolean, :default => false
81
- t.column :created_at, :timestamp
82
- t.column :updated_at, :timestamp
83
- t.column :position, :integer
84
- t.column :user_id, :integer
85
- t.column :state, :string
86
- t.column :hide_in_nav, :boolean
87
- t.datetime :published_at
88
- end
89
-
90
- create_table :gb_plain_text_contents do |t|
91
- t.column :orphaned, :boolean, :default => false
92
- t.column :section_name, :string, :limit => 50
93
- t.column :created_at, :timestamp
94
- t.column :updated_at, :timestamp
95
- t.column :page_id, :integer
96
- end
97
-
98
- create_table :gb_asset_categories do |t|
99
- t.column :name, :string, :null => false
100
- t.column :unknown, :boolean
101
- end
102
-
103
- create_table :gb_asset_types do |t|
104
- t.column :name, :string, :null => false
105
- t.column :asset_category_id, :integer, :default => 0
106
- end
107
-
108
- create_table :gb_asset_mime_types do |t|
109
- t.column :mime_type, :string, :null => false
110
- t.column :asset_type_id, :integer, :default => 0
111
- end
112
-
113
- create_table :gb_asset_collections do |t|
114
- t.column :name, :string, :null => false
115
- t.column :created_at, :datetime
116
- t.column :updated_at, :datetime
117
- t.column :created_by, :integer
118
- t.column :updated_by, :integer
119
- t.column :user_id, :integer
120
- end
121
-
122
- create_table :gb_assets do |t|
123
- t.column :mime_type, :string
124
- t.column :asset_type_id, :integer
125
- t.column :name, :string, :null => false
126
- t.column :description, :text
127
- t.column :file_name, :string
128
- t.column :asset_hash, :string
129
- t.column :size, :integer
130
- t.column :custom_thumbnail, :boolean
131
- t.column :created_at, :datetime
132
- t.column :updated_at, :datetime
133
- t.column :synopsis, :text
134
- t.column :copyrights, :text
135
- t.column :year_of_production, :integer
136
- t.column :created_by, :integer
137
- t.column :updated_by, :integer
138
- t.column :duration, :string
139
- t.column :user_id, :integer
140
- t.column :width, :integer
141
- t.column :height, :integer
142
- t.column :alt, :string
143
- t.column :processed , :boolean
144
- t.column :copied_to_s3 , :boolean
145
- end
146
-
147
- create_table :gb_audio_asset_attributes do |t|
148
- t.integer :asset_id , :null => false
149
- t.float :length
150
- t.string :title
151
- t.string :artist
152
- t.string :album
153
- t.string :tracknum
154
- t.string :genre
155
- t.timestamps
156
- end
157
-
158
- create_table :gb_asset_collections_assets , :id => false do |t|
159
- t.column :asset_collection_id, :integer, :null => false
160
- t.column :asset_id, :integer, :null => false
161
- end
162
-
163
- create_table :gb_users do |t|
164
- t.string :first_name, :null => false
165
- t.string :last_name
166
- t.string :email, :null => false
167
- t.string :crypted_password, :null => false
168
- t.string :password_salt, :null => false
169
- t.string :persistence_token, :null => false
170
- t.string :single_access_token, :null => false
171
- t.string :perishable_token, :null => false
172
- t.integer :login_count, :null => false, :default => 0
173
- t.string :role, :null => false
174
- t.text :bio
175
- t.integer :image_id
176
- t.integer :position
177
- t.timestamps
178
- end
179
-
180
-
181
- begin
182
- Gluttonberg::PlainTextContentLocalization.create_versioned_table
183
- rescue => e
184
- puts e
185
- end
186
- begin
187
- Gluttonberg::HtmlContentLocalization.create_versioned_table
188
- rescue => e
189
- puts e
190
- end
191
-
192
- begin
193
- Gluttonberg::ImageContent.create_versioned_table
194
- rescue => e
195
- puts e
196
- end
197
-
198
- create_table :tags do |t|
199
- t.string :name
200
- t.string :slug
201
- end
202
-
203
- create_table :taggings do |t|
204
- t.references :tag
205
-
206
- # You should make sure that the column created is
207
- # long enough to store the required class names.
208
- t.references :taggable, :polymorphic => true
209
- t.references :tagger, :polymorphic => true
210
-
211
- t.string :context
212
-
213
- t.datetime :created_at
214
- end
215
-
216
- add_index :taggings, :tag_id
217
- add_index :taggings, [:taggable_id, :taggable_type, :context]
218
-
219
- create_table :delayed_jobs, :force => true do |table|
220
- table.integer :priority, :default => 0
221
- table.integer :attempts, :default => 0
222
- table.text :handler
223
- table.text :last_error
224
- table.datetime :run_at
225
- table.datetime :locked_at
226
- table.datetime :failed_at
227
- table.string :locked_by
228
- table.timestamps
229
- end
230
- add_index :delayed_jobs, [:priority, :run_at], :name => 'delayed_jobs_priority'
231
-
232
- create_table :flags, :force => true do |t|
233
- t.integer :user_id
234
- t.integer :flaggable_id
235
- t.string :flaggable_type
236
- t.integer :flaggable_user_id
237
- t.string :reason
238
- t.string :url
239
- t.text :description
240
- t.boolean :approved
241
- t.boolean :moderation_required
242
- t.timestamps
243
- end
244
-
245
- create_table :gb_asset_thumbnails do |t|
246
- t.column :asset_id, :integer
247
- t.column :thumbnail_type, :string, :limit => 100
248
- t.column :user_generated , :boolean
249
- t.column :created_at, :datetime
250
- t.column :updated_at, :datetime
251
- end
252
-
253
- create_table :gb_stylesheets do |t|
254
- t.column :name , :string , :limit => 255
255
- t.column :slug , :string , :limit => 255
256
- t.column :value, :text
257
- t.column :css_prefix , :string , :limit => 255
258
- t.column :css_postfix , :string , :limit => 255
259
- t.column :position , :integer
260
- t.timestamps
261
- end
262
-
263
- begin
264
- Gluttonberg::Stylesheet.create_versioned_table
265
- rescue => e
266
- puts e
267
- end
268
-
269
- create_table :gb_members do |t|
270
- t.string :first_name, :null => false
271
- t.string :last_name
272
- t.string :email, :null => false
273
- t.string :crypted_password, :null => false
274
- t.string :password_salt, :null => false
275
- t.string :persistence_token, :null => false
276
- t.string :single_access_token, :null => false
277
- t.string :perishable_token, :null => false
278
- t.integer :login_count, :null => false, :default => 0
279
- t.text :bio
280
- t.string :image_file_name
281
- t.string :image_content_type
282
- t.integer :image_file_size
283
- t.boolean :profile_confirmed, :default => false
284
- t.boolean :welcome_email_sent, :default => false
285
- t.string :confirmation_key
286
- t.boolean :can_login , :default => true
287
- t.timestamps
288
- end
289
-
290
- create_table :gb_groups do |t|
291
- t.string :name, :null => false
292
- t.string :description
293
- t.integer :position
294
- t.boolean :default, :default => false
295
- t.timestamps
296
- end
297
-
298
- create_table :gb_groups_members , :id => false do |t|
299
- t.integer :member_id, :null => false
300
- t.integer :group_id , :null => false
301
- end
302
-
303
- create_table :gb_groups_pages , :id => false do |t|
304
- t.integer :page_id, :null => false
305
- t.integer :group_id , :null => false
306
- end
307
-
308
- create_table :gb_galleries do |t|
309
- t.column :title , :string , :limit => 255
310
- t.column :description, :text
311
- t.integer :user_id, :null => false
312
- t.column :slug , :string
313
- t.column :state , :string
314
- t.datetime :published_at
315
- t.boolean :collection_imported , :default => false
316
- t.timestamps
317
- end
318
-
319
- create_table :gb_gallery_images do |t|
320
- t.integer :gallery_id, :null => false
321
- t.integer :asset_id, :null => false
322
- t.integer :position, :null => false
323
- t.timestamps
324
- end
325
-
326
- create_table :gb_feeds do |t|
327
- t.integer :feedable_id
328
- t.string :feedable_type
329
- t.string :title
330
- t.string :action_type
331
- t.integer :user_id
332
- t.timestamps
333
- end
334
-
335
- end
336
-
337
- def self.down
338
- drop_table :gb_plain_text_content_localizations
339
- drop_table :gb_html_contents
340
- drop_table :gb_html_content_localizations
341
- drop_table :gb_image_contents
342
- drop_table :gb_users
343
- drop_table :gb_locales
344
- drop_table :gb_settings
345
- drop_table :gb_page_localizations
346
- drop_table :gb_pages
347
- drop_table :gb_plain_text_contents
348
- drop_table :gb_asset_categories
349
- drop_table :gb_asset_types
350
- drop_table :gb_asset_mime_types
351
- drop_table :gb_asset_collections
352
- drop_table :gb_assets
353
- drop_table :gb_asset_collections_assets
354
- drop_table :gb_audio_asset_attributes
355
- drop_table :taggings
356
- drop_table :tags
357
- drop_table :delayed_jobs
358
- drop_table :flags
359
- drop_table :gb_asset_thumbnails
360
- drop_table :gb_stylesheets
361
- drop_table :gb_groups
362
- drop_table :gb_groups_members
363
- drop_table :gb_groups_pages
364
- drop_table :gb_galleries
365
- drop_table :gb_gallery_images
366
- drop_table :gb_feeds
367
- end
368
- end