releaf 0.1.2 → 1.0.2

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 (322) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +19 -21
  3. data/lib/releaf.rb +1 -34
  4. data/lib/releaf/all.rb +3 -0
  5. data/lib/releaf/rspec.rb +4 -0
  6. data/lib/releaf/rspec/features_matchers.rb +76 -0
  7. data/lib/releaf/rspec/helpers.rb +227 -0
  8. data/lib/releaf/rspec/matchers.rb +16 -0
  9. data/lib/releaf/test.rb +5 -0
  10. data/spec/factories/author.rb +6 -0
  11. data/spec/factories/book.rb +5 -0
  12. data/spec/factories/chapter.rb +7 -0
  13. data/spec/factories/common.rb +5 -0
  14. data/spec/factories/home_page.rb +5 -0
  15. data/spec/factories/node.rb +43 -0
  16. data/spec/factories/node_route.rb +7 -0
  17. data/spec/factories/publisher.rb +5 -0
  18. data/spec/factories/role.rb +21 -0
  19. data/spec/factories/text_page.rb +5 -0
  20. data/spec/factories/user.rb +22 -0
  21. data/spec/rails_helper.rb +122 -0
  22. data/spec/spec_helper.rb +81 -24
  23. data/spec/support/controller_macros.rb +8 -0
  24. data/spec/support/excel_helpers.rb +63 -0
  25. data/spec/support/shared/service_includer.rb +9 -0
  26. data/spec/support/wait_steps.rb +23 -0
  27. metadata +141 -499
  28. data/README.md +0 -77
  29. data/Rakefile +0 -70
  30. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  31. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_75_ffffff_40x100.png +0 -0
  32. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  33. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_65_ffffff_1x400.png +0 -0
  34. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_dadada_1x400.png +0 -0
  35. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  36. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  37. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  38. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_222222_256x240.png +0 -0
  39. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_2e83ff_256x240.png +0 -0
  40. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_454545_256x240.png +0 -0
  41. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_888888_256x240.png +0 -0
  42. data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_cd0a0a_256x240.png +0 -0
  43. data/app/assets/images/releaf/3rd_party/lightbox/close.png +0 -0
  44. data/app/assets/images/releaf/3rd_party/lightbox/loading.gif +0 -0
  45. data/app/assets/images/releaf/3rd_party/lightbox/next.png +0 -0
  46. data/app/assets/images/releaf/3rd_party/lightbox/prev.png +0 -0
  47. data/app/assets/images/releaf/add.png +0 -0
  48. data/app/assets/images/releaf/background.jpg +0 -0
  49. data/app/assets/images/releaf/button/button_bgr.gif +0 -0
  50. data/app/assets/images/releaf/button/button_hover_bgr.png +0 -0
  51. data/app/assets/images/releaf/controllers/content/close.gif +0 -0
  52. data/app/assets/images/releaf/controllers/content/close_active.gif +0 -0
  53. data/app/assets/images/releaf/controllers/content/close_hover.gif +0 -0
  54. data/app/assets/images/releaf/controllers/content/global_fields_bgr.png +0 -0
  55. data/app/assets/images/releaf/controllers/content/open.gif +0 -0
  56. data/app/assets/images/releaf/controllers/content/open_2.gif +0 -0
  57. data/app/assets/images/releaf/controllers/content/open_active.gif +0 -0
  58. data/app/assets/images/releaf/controllers/content/open_hover.gif +0 -0
  59. data/app/assets/images/releaf/controllers/sessions/background.jpg +0 -0
  60. data/app/assets/images/releaf/controllers/sessions/logo.jpg +0 -0
  61. data/app/assets/images/releaf/expand_tool/close.png +0 -0
  62. data/app/assets/images/releaf/expand_tool/close_hover.png +0 -0
  63. data/app/assets/images/releaf/expand_tool/close_hover_shim.png +0 -0
  64. data/app/assets/images/releaf/expand_tool/close_shim.png +0 -0
  65. data/app/assets/images/releaf/expand_tool/loader.gif +0 -0
  66. data/app/assets/images/releaf/expand_tool/open.png +0 -0
  67. data/app/assets/images/releaf/expand_tool/open_hover.png +0 -0
  68. data/app/assets/images/releaf/expand_tool/open_hover_shim.png +0 -0
  69. data/app/assets/images/releaf/expand_tool/open_shim.png +0 -0
  70. data/app/assets/images/releaf/favicon.ico +0 -0
  71. data/app/assets/images/releaf/globalFieldContainerBgr.png +0 -0
  72. data/app/assets/images/releaf/icons/129.png +0 -0
  73. data/app/assets/images/releaf/icons/130.png +0 -0
  74. data/app/assets/images/releaf/icons/accept.png +0 -0
  75. data/app/assets/images/releaf/icons/add.png +0 -0
  76. data/app/assets/images/releaf/icons/arrow_down.png +0 -0
  77. data/app/assets/images/releaf/icons/arrow_left.png +0 -0
  78. data/app/assets/images/releaf/icons/arrow_refresh.png +0 -0
  79. data/app/assets/images/releaf/icons/arrow_up.png +0 -0
  80. data/app/assets/images/releaf/icons/bin_empty.png +0 -0
  81. data/app/assets/images/releaf/icons/bullet_black.png +0 -0
  82. data/app/assets/images/releaf/icons/bullet_connect.png +0 -0
  83. data/app/assets/images/releaf/icons/bullet_start.png +0 -0
  84. data/app/assets/images/releaf/icons/bullet_tick.png +0 -0
  85. data/app/assets/images/releaf/icons/chrome.png +0 -0
  86. data/app/assets/images/releaf/icons/control_play.png +0 -0
  87. data/app/assets/images/releaf/icons/date.png +0 -0
  88. data/app/assets/images/releaf/icons/delete.png +0 -0
  89. data/app/assets/images/releaf/icons/disk.png +0 -0
  90. data/app/assets/images/releaf/icons/drag-handle.png +0 -0
  91. data/app/assets/images/releaf/icons/error.png +0 -0
  92. data/app/assets/images/releaf/icons/eye.png +0 -0
  93. data/app/assets/images/releaf/icons/firefox.png +0 -0
  94. data/app/assets/images/releaf/icons/google-not-available.gif +0 -0
  95. data/app/assets/images/releaf/icons/google.gif +0 -0
  96. data/app/assets/images/releaf/icons/keyboard.png +0 -0
  97. data/app/assets/images/releaf/icons/left_16.png +0 -0
  98. data/app/assets/images/releaf/icons/link.png +0 -0
  99. data/app/assets/images/releaf/icons/magnifier.png +0 -0
  100. data/app/assets/images/releaf/icons/notAllowed.png +0 -0
  101. data/app/assets/images/releaf/icons/page_white_add.png +0 -0
  102. data/app/assets/images/releaf/icons/page_white_edit.png +0 -0
  103. data/app/assets/images/releaf/icons/page_white_put.png +0 -0
  104. data/app/assets/images/releaf/icons/page_white_text.png +0 -0
  105. data/app/assets/images/releaf/icons/pencil.png +0 -0
  106. data/app/assets/images/releaf/icons/picture.png +0 -0
  107. data/app/assets/images/releaf/icons/right_16.png +0 -0
  108. data/app/assets/images/releaf/icons/tick.png +0 -0
  109. data/app/assets/images/releaf/icons/warning.png +0 -0
  110. data/app/assets/images/releaf/icons/world_go.png +0 -0
  111. data/app/assets/images/releaf/icons/world_link.png +0 -0
  112. data/app/assets/images/releaf/input/autocompleteExpandIcon.png +0 -0
  113. data/app/assets/images/releaf/input/input_bgr.gif +0 -0
  114. data/app/assets/images/releaf/language_root.png +0 -0
  115. data/app/assets/images/releaf/loader.gif +0 -0
  116. data/app/assets/images/releaf/logout.png +0 -0
  117. data/app/assets/images/releaf/main_menu/active_bgr.png +0 -0
  118. data/app/assets/images/releaf/main_menu/bgr.png +0 -0
  119. data/app/assets/images/releaf/main_menu/hover_bgr.png +0 -0
  120. data/app/assets/images/releaf/module.png +0 -0
  121. data/app/assets/images/releaf/panel_layout/active_bgr.png +0 -0
  122. data/app/assets/images/releaf/panel_layout/secondary_panel_horizontal_bgr.png +0 -0
  123. data/app/assets/images/releaf/panel_layout/secondary_panel_vertical_bgr.png +0 -0
  124. data/app/assets/images/releaf/releaf_table/selected_bgr.png +0 -0
  125. data/app/assets/images/releaf/releaf_table/th_bgr.gif +0 -0
  126. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/README.md +0 -73
  127. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/jquery.cookie.js +0 -47
  128. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/server.js +0 -24
  129. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.html +0 -19
  130. data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.js +0 -80
  131. data/app/assets/javascripts/releaf/3rd_party/jquery-ui-timepicker-addon.js +0 -1882
  132. data/app/assets/javascripts/releaf/3rd_party/lightbox.js.erb +0 -379
  133. data/app/assets/javascripts/releaf/application.js +0 -14
  134. data/app/assets/javascripts/releaf/controllers/base.js +0 -130
  135. data/app/assets/javascripts/releaf/controllers/releaf/content.js +0 -90
  136. data/app/assets/javascripts/releaf/controllers/releaf/translations.js +0 -31
  137. data/app/assets/javascripts/releaf/include/continuous_scroll.js +0 -321
  138. data/app/assets/javascripts/releaf/include/field.type_autocomplete.js +0 -58
  139. data/app/assets/javascripts/releaf/include/field.type_date_or_datetime_or_time.js +0 -43
  140. data/app/assets/javascripts/releaf/include/field.type_richtext.js +0 -90
  141. data/app/assets/javascripts/releaf/include/localization.js +0 -12
  142. data/app/assets/javascripts/releaf/include/nested_fields.js +0 -64
  143. data/app/assets/javascripts/releaf/include/sortable.js +0 -29
  144. data/app/assets/javascripts/releaf/lib/request_url.js +0 -183
  145. data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-1.9.2.custom.css.erb +0 -464
  146. data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-timepicker-addon.css +0 -10
  147. data/app/assets/stylesheets/releaf/3rd_party/lightbox.css.erb +0 -157
  148. data/app/assets/stylesheets/releaf/application.css.erb +0 -122
  149. data/app/assets/stylesheets/releaf/controllers/base.css.erb +0 -205
  150. data/app/assets/stylesheets/releaf/controllers/releaf/content.css.erb +0 -422
  151. data/app/assets/stylesheets/releaf/controllers/releaf/sessions.css.scss.erb +0 -116
  152. data/app/assets/stylesheets/releaf/controllers/releaf/translations.css.erb +0 -205
  153. data/app/assets/stylesheets/releaf/include/button.css.erb +0 -176
  154. data/app/assets/stylesheets/releaf/include/field.css.erb +0 -281
  155. data/app/assets/stylesheets/releaf/include/input.css.erb +0 -40
  156. data/app/assets/stylesheets/releaf/include/main_menu.css.erb +0 -66
  157. data/app/assets/stylesheets/releaf/include/pagination.css.erb +0 -29
  158. data/app/assets/stylesheets/releaf/include/panel_layout.css.erb +0 -251
  159. data/app/assets/stylesheets/releaf/include/releaf_table.css.erb +0 -112
  160. data/app/assets/stylesheets/releaf/include/sortable.css.erb +0 -12
  161. data/app/controllers/releaf/admins_controller.rb +0 -55
  162. data/app/controllers/releaf/application_controller.rb +0 -11
  163. data/app/controllers/releaf/base_application_controller.rb +0 -18
  164. data/app/controllers/releaf/base_controller.rb +0 -571
  165. data/app/controllers/releaf/content_controller.rb +0 -183
  166. data/app/controllers/releaf/roles_controller.rb +0 -38
  167. data/app/controllers/releaf/sessions_controller.rb +0 -27
  168. data/app/controllers/releaf/tinymce_assets_controller.rb +0 -26
  169. data/app/controllers/releaf/translations_controller.rb +0 -117
  170. data/app/helpers/releaf/admin_helper.rb +0 -59
  171. data/app/helpers/releaf/application_helper.rb +0 -4
  172. data/app/helpers/releaf/pagination_renderer.rb +0 -44
  173. data/app/helpers/releaf/releaf_devise_helper.rb +0 -8
  174. data/app/models/releaf/admin.rb +0 -60
  175. data/app/models/releaf/blank_node_base.rb +0 -29
  176. data/app/models/releaf/node.rb +0 -222
  177. data/app/models/releaf/node_base.rb +0 -31
  178. data/app/models/releaf/role.rb +0 -126
  179. data/app/models/releaf/tinymce_asset.rb +0 -6
  180. data/app/views/layouts/releaf/admin.html.haml +0 -57
  181. data/app/views/layouts/releaf/devise.html.haml +0 -32
  182. data/app/views/releaf/aliases/_edit.body.html.haml +0 -50
  183. data/app/views/releaf/aliases/_edit.header.html.haml +0 -19
  184. data/app/views/releaf/aliases/_index.row.html.haml +0 -5
  185. data/app/views/releaf/aliases/_secondary_panel.html.haml +0 -13
  186. data/app/views/releaf/base/_edit.body.html.haml +0 -11
  187. data/app/views/releaf/base/_edit.field.html.haml +0 -23
  188. data/app/views/releaf/base/_edit.field_type_autocomplete.html.haml +0 -15
  189. data/app/views/releaf/base/_edit.field_type_boolean.html.haml +0 -5
  190. data/app/views/releaf/base/_edit.field_type_date.html.haml +0 -8
  191. data/app/views/releaf/base/_edit.field_type_datetime.html.haml +0 -8
  192. data/app/views/releaf/base/_edit.field_type_delete_nested.html.haml +0 -3
  193. data/app/views/releaf/base/_edit.field_type_file.html.haml +0 -10
  194. data/app/views/releaf/base/_edit.field_type_image.html.haml +0 -12
  195. data/app/views/releaf/base/_edit.field_type_item.html.haml +0 -31
  196. data/app/views/releaf/base/_edit.field_type_link.html.haml +0 -4
  197. data/app/views/releaf/base/_edit.field_type_link_i18n.html.haml +0 -26
  198. data/app/views/releaf/base/_edit.field_type_password.html.haml +0 -4
  199. data/app/views/releaf/base/_edit.field_type_richtext.html.haml +0 -4
  200. data/app/views/releaf/base/_edit.field_type_richtext_i18n.html.haml +0 -27
  201. data/app/views/releaf/base/_edit.field_type_text.html.haml +0 -4
  202. data/app/views/releaf/base/_edit.field_type_text_i18n.html.haml +0 -27
  203. data/app/views/releaf/base/_edit.field_type_textarea.html.haml +0 -4
  204. data/app/views/releaf/base/_edit.field_type_textarea_i18n.html.haml +0 -27
  205. data/app/views/releaf/base/_edit.field_type_time.html.haml +0 -8
  206. data/app/views/releaf/base/_edit.fields.association.html.haml +0 -48
  207. data/app/views/releaf/base/_edit.fields.has_many_template.html.haml +0 -15
  208. data/app/views/releaf/base/_edit.fields.html.haml +0 -20
  209. data/app/views/releaf/base/_edit.footer.html.haml +0 -14
  210. data/app/views/releaf/base/_edit.form.html.haml +0 -4
  211. data/app/views/releaf/base/_edit.header.html.haml +0 -3
  212. data/app/views/releaf/base/_index.body.html.haml +0 -6
  213. data/app/views/releaf/base/_index.cell.html.haml +0 -20
  214. data/app/views/releaf/base/_index.footer.html.haml +0 -28
  215. data/app/views/releaf/base/_index.header.html.haml +0 -4
  216. data/app/views/releaf/base/_index.row.html.haml +0 -6
  217. data/app/views/releaf/base/_index.search.html.haml +0 -5
  218. data/app/views/releaf/base/_index.table.html.haml +0 -24
  219. data/app/views/releaf/base/_secondary_panel.html.haml +0 -10
  220. data/app/views/releaf/base/_show.body.html.haml +0 -3
  221. data/app/views/releaf/base/_show.field.html.haml +0 -20
  222. data/app/views/releaf/base/_show.field_type_date.html.haml +0 -9
  223. data/app/views/releaf/base/_show.field_type_date_time.html.haml +0 -9
  224. data/app/views/releaf/base/_show.field_type_email.html.haml +0 -6
  225. data/app/views/releaf/base/_show.field_type_file.html.haml +0 -7
  226. data/app/views/releaf/base/_show.field_type_image.html.haml +0 -10
  227. data/app/views/releaf/base/_show.field_type_item.html.haml +0 -11
  228. data/app/views/releaf/base/_show.field_type_link.html.haml +0 -14
  229. data/app/views/releaf/base/_show.field_type_password.html.haml +0 -6
  230. data/app/views/releaf/base/_show.field_type_richtext.html.haml +0 -6
  231. data/app/views/releaf/base/_show.field_type_text.html.haml +0 -6
  232. data/app/views/releaf/base/_show.field_type_textarea.html.haml +0 -6
  233. data/app/views/releaf/base/_show.field_type_time.html.haml +0 -9
  234. data/app/views/releaf/base/_show.field_type_url.html.haml +0 -7
  235. data/app/views/releaf/base/_show.fields.association.html.haml +0 -36
  236. data/app/views/releaf/base/_show.fields.has_many_template.html.haml +0 -12
  237. data/app/views/releaf/base/_show.fields.html.haml +0 -17
  238. data/app/views/releaf/base/_show.footer.html.haml +0 -18
  239. data/app/views/releaf/base/_show.header.html.haml +0 -3
  240. data/app/views/releaf/base/confirm_destroy.html.haml +0 -17
  241. data/app/views/releaf/base/edit.html.haml +0 -1
  242. data/app/views/releaf/base/index.html.haml +0 -3
  243. data/app/views/releaf/base/new.html.haml +0 -1
  244. data/app/views/releaf/base/show.html.haml +0 -3
  245. data/app/views/releaf/content/_edit.body.html.haml +0 -46
  246. data/app/views/releaf/content/_edit.content_fields.html.haml +0 -11
  247. data/app/views/releaf/content/_edit.fields.html.haml +0 -17
  248. data/app/views/releaf/content/_edit.slug.html.haml +0 -12
  249. data/app/views/releaf/content/_get_content_form.html.haml +0 -7
  250. data/app/views/releaf/content/_secondary_panel.html.haml +0 -3
  251. data/app/views/releaf/content/_tree_level.html.haml +0 -16
  252. data/app/views/releaf/content/ajax.new.html.haml +0 -3
  253. data/app/views/releaf/content/index.html.haml +0 -0
  254. data/app/views/releaf/roles/_edit.field.permissions.html.haml +0 -5
  255. data/app/views/releaf/roles/_show.field.default.html.haml +0 -6
  256. data/app/views/releaf/roles/_show.field.permissions.html.haml +0 -11
  257. data/app/views/releaf/sessions/new.html.haml +0 -17
  258. data/app/views/releaf/translations/_edit.body.html.haml +0 -50
  259. data/app/views/releaf/translations/_edit.header.html.haml +0 -19
  260. data/app/views/releaf/translations/_index.row.html.haml +0 -5
  261. data/app/views/releaf/translations/_secondary_panel.html.haml +0 -13
  262. data/bin/releaf +0 -25
  263. data/lib/generators/releaf/install_generator.rb +0 -87
  264. data/lib/generators/releaf/templates/config/common_fields.yml.example +0 -17
  265. data/lib/generators/releaf/templates/controllers/home_controller.rb +0 -4
  266. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  267. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
  268. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  269. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  270. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  271. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  272. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  273. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  274. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_222222_256x240.png +0 -0
  275. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_2e83ff_256x240.png +0 -0
  276. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_454545_256x240.png +0 -0
  277. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_888888_256x240.png +0 -0
  278. data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  279. data/lib/generators/releaf/templates/images/3rd_party/lightbox/close.png +0 -0
  280. data/lib/generators/releaf/templates/images/3rd_party/lightbox/loading.gif +0 -0
  281. data/lib/generators/releaf/templates/images/3rd_party/lightbox/next.png +0 -0
  282. data/lib/generators/releaf/templates/images/3rd_party/lightbox/prev.png +0 -0
  283. data/lib/generators/releaf/templates/initializers/releaf.rb +0 -20
  284. data/lib/generators/releaf/templates/initializers/releaf_i18n.rb +0 -25
  285. data/lib/generators/releaf/templates/initializers/releaf_store_current_template.rb +0 -25
  286. data/lib/generators/releaf/templates/javascripts/3rd_party/jquery.jcarousel.js +0 -1058
  287. data/lib/generators/releaf/templates/javascripts/3rd_party/jquery_ui.js +0 -14850
  288. data/lib/generators/releaf/templates/javascripts/3rd_party/lightbox.js.erb +0 -379
  289. data/lib/generators/releaf/templates/javascripts/application.js +0 -15
  290. data/lib/generators/releaf/templates/javascripts/lib/init_jcarousel.js +0 -40
  291. data/lib/generators/releaf/templates/javascripts/lib/js_check.js +0 -8
  292. data/lib/generators/releaf/templates/javascripts/lib/request_url.js +0 -169
  293. data/lib/generators/releaf/templates/javascripts/lib/sortable.js +0 -29
  294. data/lib/generators/releaf/templates/migrations/create_releaf_admins.rb +0 -53
  295. data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +0 -25
  296. data/lib/generators/releaf/templates/migrations/create_releaf_roles.rb +0 -12
  297. data/lib/generators/releaf/templates/migrations/create_releaf_tinymce_assets.rb +0 -11
  298. data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +0 -31
  299. data/lib/generators/releaf/templates/models/admin_ability.rb +0 -51
  300. data/lib/generators/releaf/templates/seeds.rb +0 -64
  301. data/lib/generators/releaf/templates/stylesheets/3rd_party/jquery_ui/smoothness.css.erb +0 -1174
  302. data/lib/generators/releaf/templates/stylesheets/3rd_party/lightbox.css.erb +0 -157
  303. data/lib/generators/releaf/templates/stylesheets/3rd_party/reset.css +0 -48
  304. data/lib/generators/releaf/templates/stylesheets/application.scss +0 -15
  305. data/lib/generators/releaf/templates/stylesheets/style.scss +0 -45
  306. data/lib/generators/releaf/templates/views/home/index.html.haml +0 -1
  307. data/lib/generators/releaf/templates/views/layouts/application.html.haml +0 -26
  308. data/lib/i18n/backend/releaf.rb +0 -97
  309. data/lib/i18n/backend/releaf/translation.rb +0 -61
  310. data/lib/i18n/backend/releaf/translation_data.rb +0 -39
  311. data/lib/i18n/backend/releaf/translation_group.rb +0 -34
  312. data/lib/i18n/releaf.rb +0 -1
  313. data/lib/releaf/boolean_at.rb +0 -77
  314. data/lib/releaf/engine.rb +0 -4
  315. data/lib/releaf/globalize3/fallbacks.rb +0 -19
  316. data/lib/releaf/resources.rb +0 -101
  317. data/lib/releaf/slug.rb +0 -118
  318. data/lib/releaf/version.rb +0 -3
  319. data/lib/tasks/releaf_tasks.rake +0 -4
  320. data/spec/factories/factories.rb +0 -24
  321. data/spec/features/admin_spec.rb +0 -41
  322. data/templates/releaf/installer.rb +0 -207
@@ -1,183 +0,0 @@
1
- module Releaf
2
- class ContentController < BaseController
3
- helper_method :content_fields_to_display
4
-
5
- def content_fields_to_display obj_class
6
- if obj_class.respond_to? :releaf_fields_to_display
7
- obj_class.releaf_fields_to_display params[:action]
8
- else
9
- obj_class.column_names - %w[id created_at updated_at position]
10
- end
11
- end
12
-
13
- def fields_to_display
14
- return super unless params[:action] == 'show'
15
- return %w[name parent_id visible protected content]
16
- end
17
-
18
- def build_secondary_panel_variables
19
- @nodes = Node.roots
20
- super
21
- end
22
-
23
- def index
24
- authorize! :index, Node
25
- respond_to do |format|
26
- format.html
27
- end
28
- end
29
-
30
- def create
31
- content_type = _node_params[:content_type].constantize
32
- authorize! :create, content_type
33
- @resource = resource_class.new(_node_params)
34
-
35
- respond_to do |format|
36
- if @resource.save
37
- format.html { redirect_to url_for(:action => "edit", :controller => 'content', :id => @resource.id)}
38
- else
39
- form_extras
40
- @order_nodes = Node.where(:parent_id => (params[:parent_id] ? params[:parent_id] : nil))
41
- format.html { render action: "new" }
42
- end
43
- end
44
- end
45
-
46
- def generate_url
47
- tmp_resource = nil
48
-
49
- if params[:id]
50
- tmp_resource = Node.find(params[:id])
51
- elsif params[:parent_id].blank? == false
52
- parent = Node.find(params[:parent_id])
53
- tmp_resource = parent.children.new
54
- else
55
- tmp_resource = Node.new
56
- end
57
-
58
- tmp_resource.name = params[:name]
59
- tmp_resource.slug = nil
60
- # FIXME calling private method
61
- tmp_resource.send(:ensure_unique_url)
62
-
63
- respond_to do |format|
64
- format.js { render :text => tmp_resource.slug }
65
- end
66
- end
67
-
68
- def update
69
- @resource = resource_class.find(params[:id])
70
- authorize! :edit, @resource
71
-
72
- form_extras
73
- @order_nodes = Node.where(:parent_id => (@resource.parent_id ? @resource.parent_id : nil)).where('id != :id', :id => params[:id])
74
-
75
- @resource.assign_attributes(_node_params)
76
-
77
-
78
- respond_to do |format|
79
- if @resource.save
80
- format.html { redirect_to url_for(:action => "edit") }
81
- else
82
- format.html { render action: "edit" }
83
- end
84
- end
85
- end
86
-
87
- def new
88
- authorize! :create, resource_class
89
- unless params[:ajax] == '1'
90
- super
91
- @order_nodes = Node.where(:parent_id => (params[:parent_id] ? params[:parent_id] : nil))
92
- @position = 1
93
- @resource.parent_id = params[:parent_id]
94
- form_extras
95
- else
96
- Rails.application.eager_load!
97
- get_base_models
98
- render 'ajax.new', :layout => nil
99
- end
100
- end
101
-
102
- def edit
103
- super
104
- @order_nodes = Node.where(:parent_id => (@resource.parent_id ? @resource.parent_id : nil)).where('id != :id', :id => params[:id])
105
-
106
- if @resource.higher_item
107
- @position = @resource.position
108
- else
109
- @position = 1
110
- end
111
-
112
- form_extras
113
- end
114
-
115
- def setup
116
- super
117
- @features[:show] = false
118
- end
119
-
120
- def get_content_form
121
- Rails.application.eager_load!
122
- raise ArgumentError unless content_type_class_names.include? params[:content_type]
123
- @node = resource_class.find(params[:id])
124
- authorize! :edit, @resource
125
-
126
- @resource = params[:content_type].constantize.new
127
-
128
- respond_to do |format|
129
- format.html { render :partial => 'get_content_form', :layout => false }
130
- end
131
-
132
- end
133
-
134
- def resource_class
135
- Node
136
- end
137
-
138
- protected
139
-
140
- def _node_params
141
- params.require(:resource).permit!
142
- end
143
-
144
- private
145
-
146
- def content_type_class_names
147
- content_type_classes.map { |nc| nc.name }.sort
148
- end
149
-
150
- def content_type_classes
151
- NodeBase.node_classes + BlankNodeBase.node_classes
152
- end
153
-
154
- def form_extras
155
- Rails.application.eager_load!
156
- get_base_models
157
-
158
- new_content_if_needed
159
- end
160
-
161
- def resource_params
162
- []
163
- end
164
-
165
- def new_content_if_needed
166
- return if @resource.content
167
- if params[:content_type]
168
- if get_base_models.map { |bm| bm.name }.include? params[:content_type]
169
- @resource.content_type = params[:content_type]
170
- content_class = @resource.content_type.constantize
171
- if content_class.node_type == 'Releaf::NodeBase'
172
- @resource.content = @resource.content_type.constantize.new
173
- end
174
- end
175
- end
176
- end
177
-
178
- def get_base_models
179
- @base_models ||= content_type_classes
180
- end
181
-
182
- end
183
- end
@@ -1,38 +0,0 @@
1
- module Releaf
2
- class RolesController < BaseController
3
-
4
- def resource_class
5
- Releaf::Role
6
- end
7
-
8
- def fields_to_display
9
- case params[:action].to_sym
10
- when :index
11
- %w[name default_controller default]
12
- when :create, :edit, :new, :update, :show
13
- %w[name default default_controller permissions]
14
- else
15
- []
16
- end
17
- end
18
-
19
- protected
20
-
21
- def resource_params
22
- return [] unless %w[update create].include? params[:action]
23
-
24
- fields = ['name', 'default', 'default_controller']
25
- AdminAbility::PERMISSIONS.each do |permission|
26
- if permission.is_a? String
27
- fields.push "#{permission}_permission"
28
- elsif permission.is_a? Array
29
- fields.push "#{permission[0]}_permissions"
30
- else
31
- raise RuntimeError, 'invalid permissions'
32
- end
33
- end
34
- return fields
35
- end
36
-
37
- end
38
- end
@@ -1,27 +0,0 @@
1
- module Releaf
2
- class SessionsController < Devise::SessionsController
3
- layout "releaf/devise"
4
-
5
- def after_sign_in_path_for(resource)
6
- controller_name = resource.role.default_controller
7
-
8
- if controller_name
9
- if controller_name == 'content'
10
- default_path = releaf_nodes_path
11
- elsif controller_name == 'translations'
12
- default_path = releaf_translation_groups_path
13
- else
14
- default_path = send("admin_#{controller_name}_path")
15
- end
16
- else
17
- default_path = releaf_nodes_path
18
- end
19
-
20
- return default_path
21
- end
22
-
23
- def full_controller_name
24
- self.class.name.sub(/Controller$/, '').underscore
25
- end
26
- end
27
- end
@@ -1,26 +0,0 @@
1
- module Releaf
2
- class TinymceAssetsController < BaseController
3
- skip_authorization_check :only => [:create]
4
-
5
- def create
6
- asset = TinymceAsset.new
7
- asset.file_type = params[:file].content_type
8
- asset.file = params[:file]
9
- asset.save!
10
-
11
-
12
- render json: {
13
- image: {
14
- # url: serve_tinymce_asset_path(asset)
15
- url: asset.file.url
16
- }
17
- }, content_type: "text/html"
18
- end
19
-
20
- # def serve
21
- # asset = TinymceAsset.find(params[:id])
22
- # send_file asset.file.path, :type => asset.file_type
23
- # end
24
-
25
- end
26
- end
@@ -1,117 +0,0 @@
1
- module Releaf
2
- class TranslationsController < BaseController
3
-
4
- def resource_class
5
- @object_class
6
- end
7
-
8
- def build_secondary_panel_variables
9
- @groups = I18n::Backend::Releaf::TranslationGroup.order(:scope).all
10
- super
11
- end
12
-
13
- def columns( view = nil )
14
- return super + (Settings.i18n_locales || [])
15
- end
16
-
17
- def index
18
- authorize! :manage, I18n::Backend::Releaf::Translation
19
- @resources = @object_class = I18n::Backend::Releaf::Translation.includes(:translation_data).filter(:search => params[:search])
20
- if !params[:ajax].blank?
21
- render :layout => false
22
- end
23
- end
24
-
25
- def edit
26
- authorize! :manage, I18n::Backend::Releaf::Translation
27
- @resource = resource_class.find(params[:id])
28
- end
29
-
30
- def create
31
- authorize! :manage, I18n::Backend::Releaf::Translation
32
- @resource = resource_class.new(resource_params)
33
-
34
- respond_to do |format|
35
- if @resource.save
36
- update_translations
37
- Settings.i18n_updated_at = Time.now
38
- format.html { redirect_to url_for(:action => "edit", :id => @resource.id) }
39
- else
40
- format.html { render :action => "new" }
41
- end
42
- end
43
- end
44
-
45
- def update
46
- authorize! :manage, I18n::Backend::Releaf::Translation
47
- @resource = resource_class.find(params[:id])
48
-
49
- unless params[:translations].blank?
50
- ids_to_keep = update_translations
51
- @resource.translations.where('id NOT IN (?)', ids_to_keep).destroy_all
52
- else
53
- @resource.translations.destroy_all
54
- end
55
- Settings.i18n_updated_at = Time.now
56
-
57
-
58
- respond_to do |format|
59
- format.html { redirect_to url_for(:action => "edit", :id => @resource.id) }
60
- end
61
- end
62
-
63
- protected
64
-
65
- def setup
66
- super
67
- @object_class = I18n::Backend::Releaf::TranslationGroup
68
- @features[:show] = false
69
- @continuous_scroll = true
70
- end
71
-
72
- private
73
-
74
- def update_translations
75
- return [] if params[:translations].blank?
76
-
77
- ids_to_keep = [];
78
- params[:translations].each_pair do |id,t|
79
- next if t['key'].blank?
80
-
81
- translation = nil
82
- if id =~ /\A\d+\z/
83
- translation = I18n::Backend::Releaf::Translation.find(id)
84
- else
85
- translation = @resource.translations.new
86
- end
87
-
88
- translation.key = params[:translation_group][:scope] + '.' + t['key']
89
- translation.save
90
-
91
-
92
- unless id =~ /\A\d+\z/
93
- id = translation.id
94
- end
95
-
96
- ids_to_keep.push id
97
-
98
-
99
- (Settings.i18n_locales || []).each do |locale|
100
- translation_data = I18n::Backend::Releaf::TranslationData.find_or_initialize_by_translation_id_and_lang(id, locale)
101
- unless t['localization'][locale].blank?
102
- translation_data.localization = t['localization'][locale]
103
- translation_data.save
104
- else
105
- translation_data.destroy
106
- end
107
- end
108
- end
109
- return ids_to_keep
110
- end
111
-
112
- def resource_params
113
- params.require(:resource).permit(:scope)
114
- end
115
-
116
- end
117
- end
@@ -1,59 +0,0 @@
1
- module Releaf
2
- module AdminHelper
3
-
4
- def is_this_main_menu_item_active? releaf_main_menu_item
5
- _check_if_this_is_valid_releaf_main_menu_item releaf_main_menu_item
6
-
7
- unless releaf_main_menu_item.start_with?('*')
8
- return params[:controller] == _menu_item_controller_name(releaf_main_menu_item)
9
- else
10
- return base_menu_items(releaf_main_menu_item).include? params[:controller]
11
- end
12
- end
13
-
14
- def main_menu_item_url releaf_main_menu_item, options={}
15
- # TODO implement options
16
- _check_if_this_is_valid_releaf_main_menu_item releaf_main_menu_item
17
-
18
- unless releaf_main_menu_item.start_with?('*')
19
- return url_for(:controller => _menu_item_controller_name(releaf_main_menu_item), :action => _menu_item_action_name(releaf_main_menu_item))
20
- else
21
- submenu_items = Releaf.base_menu[releaf_main_menu_item]
22
-
23
- # TODO find first item in submenu_items list, that current admin can access
24
- first_accessible_item = submenu_items[0][1][0] # currently will find first
25
-
26
- return url_for(:controller => _menu_item_controller_name(first_accessible_item), :action => _menu_item_action_name(first_accessible_item))
27
- end
28
- end
29
-
30
- def base_menu_items base_menu_name
31
- submenu_items = Releaf.base_menu[base_menu_name]
32
- return [] if submenu_items.blank?
33
-
34
- all_submenu_items = []
35
- submenu_items.each do |group|
36
- group[1].each { |item| all_submenu_items.push _menu_item_controller_name(item) }
37
- end
38
-
39
- return all_submenu_items
40
- end
41
-
42
- private
43
-
44
- def _menu_item_controller_name releaf_menu_item
45
- releaf_menu_item.split(/#/, 2).first
46
- end
47
-
48
- def _menu_item_action_name releaf_menu_item
49
- releaf_menu_item.split(/#/, 2)[2] || 'index'
50
- end
51
-
52
- def _check_if_this_is_valid_releaf_main_menu_item item
53
- raise ArgumentError, "not a string" unless item.is_a? String
54
- raise ArgumentError, "no such Releaf main menu item" unless Releaf.main_menu.include? item
55
- end
56
-
57
-
58
- end
59
- end