forgeos_cms 1.9.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 (294) hide show
  1. data/LICENSE +2 -0
  2. data/README.textile +42 -0
  3. data/app/assets/images/forgeos/admin/favicon.gif +0 -0
  4. data/app/assets/javascripts/forgeos/admin/functions/forgeos_cms/carousels.js +56 -0
  5. data/app/assets/javascripts/forgeos/admin/functions/forgeos_cms/menus.js +93 -0
  6. data/app/assets/javascripts/forgeos/admin/functions/forgeos_cms/overlay.js +86 -0
  7. data/app/assets/javascripts/forgeos/admin/functions/forgeos_cms/trees.js +8 -0
  8. data/app/assets/javascripts/forgeos/admin/functions/forgeos_cms/widget_actualities.js +117 -0
  9. data/app/assets/javascripts/forgeos/admin/inits/forgeos_cms/carousels.js +131 -0
  10. data/app/assets/javascripts/forgeos/admin/inits/forgeos_cms/menus.js +294 -0
  11. data/app/assets/javascripts/forgeos/admin/inits/forgeos_cms/overlays.js +71 -0
  12. data/app/assets/javascripts/forgeos/admin/inits/forgeos_cms/trees.js +94 -0
  13. data/app/assets/javascripts/forgeos/admin/inits/forgeos_cms/widget_actualities.js +23 -0
  14. data/app/assets/javascripts/forgeos/admin/inits/forgeos_cms/widget_faq.js +13 -0
  15. data/app/assets/stylesheets/forgeos/admin/base.css.sass +2 -0
  16. data/app/assets/stylesheets/forgeos/admin/forgeos_cms/_all.css.sass +1 -0
  17. data/app/assets/stylesheets/forgeos/admin/forgeos_cms/_blocks.css.sass +220 -0
  18. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/bubble-quantity-products.png +0 -0
  19. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/check-checked.png +0 -0
  20. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/check-unchecked.png +0 -0
  21. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/context.gif +0 -0
  22. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/create.png +0 -0
  23. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/dark-blue-minus.png +0 -0
  24. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/dark-blue-plus.png +0 -0
  25. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/dot.gif +0 -0
  26. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/f.png +0 -0
  27. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/fminus.gif +0 -0
  28. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/fminus_rtl.gif +0 -0
  29. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/folder.png +0 -0
  30. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/fplus.gif +0 -0
  31. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/fplus_rtl.gif +0 -0
  32. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/lastli.gif +0 -0
  33. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/lastli_rtl.gif +0 -0
  34. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/li.gif +0 -0
  35. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/remove.png +0 -0
  36. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/rename.png +0 -0
  37. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/style.css.sass +219 -0
  38. data/app/assets/stylesheets/forgeos/jstree/themes/association_page/throbber.gif +0 -0
  39. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/brown-minus.png +0 -0
  40. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/brown-plus.png +0 -0
  41. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/bubble-quantity-products.png +0 -0
  42. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/context.gif +0 -0
  43. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/create.png +0 -0
  44. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/dot.gif +0 -0
  45. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/f.png +0 -0
  46. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/fminus.gif +0 -0
  47. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/fminus_rtl.gif +0 -0
  48. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/fplus.gif +0 -0
  49. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/fplus_rtl.gif +0 -0
  50. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/lastli.gif +0 -0
  51. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/lastli_rtl.gif +0 -0
  52. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/li.gif +0 -0
  53. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/remove.png +0 -0
  54. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/rename.png +0 -0
  55. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/style.css.sass +138 -0
  56. data/app/assets/stylesheets/forgeos/jstree/themes/block_category/throbber.gif +0 -0
  57. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/big-drag-and-drop.png +0 -0
  58. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/bubble-quantity-products.png +0 -0
  59. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/check-checked.png +0 -0
  60. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/check-unchecked.png +0 -0
  61. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/context.gif +0 -0
  62. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/create.png +0 -0
  63. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/dark-blue-minus.png +0 -0
  64. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/dark-blue-plus.png +0 -0
  65. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/dot.gif +0 -0
  66. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/drag-drop.png +0 -0
  67. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/f.png +0 -0
  68. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/fminus.gif +0 -0
  69. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/fminus_rtl.gif +0 -0
  70. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/folder.png +0 -0
  71. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/fplus.gif +0 -0
  72. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/fplus_rtl.gif +0 -0
  73. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/lastli.gif +0 -0
  74. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/lastli_rtl.gif +0 -0
  75. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/li.gif +0 -0
  76. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/remove.png +0 -0
  77. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/rename.png +0 -0
  78. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/style.css.sass +186 -0
  79. data/app/assets/stylesheets/forgeos/jstree/themes/menu-tree/throbber.gif +0 -0
  80. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/brown-minus.png +0 -0
  81. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/brown-plus.png +0 -0
  82. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/bubble-quantity-products.png +0 -0
  83. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/context.gif +0 -0
  84. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/create.png +0 -0
  85. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/dot.gif +0 -0
  86. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/f.png +0 -0
  87. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/fminus.gif +0 -0
  88. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/fminus_rtl.gif +0 -0
  89. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/fplus.gif +0 -0
  90. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/fplus_rtl.gif +0 -0
  91. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/lastli.gif +0 -0
  92. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/lastli_rtl.gif +0 -0
  93. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/li.gif +0 -0
  94. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/remove.png +0 -0
  95. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/rename.png +0 -0
  96. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/style.css.sass +138 -0
  97. data/app/assets/stylesheets/forgeos/jstree/themes/page_category/throbber.gif +0 -0
  98. data/app/controllers/actualities_controller.rb +11 -0
  99. data/app/controllers/admin/actualities_controller.rb +100 -0
  100. data/app/controllers/admin/base_controller.rb +11 -0
  101. data/app/controllers/admin/carousels_controller.rb +101 -0
  102. data/app/controllers/admin/import_controller.rb +20 -0
  103. data/app/controllers/admin/menus_controller.rb +104 -0
  104. data/app/controllers/admin/newsletters_controller.rb +110 -0
  105. data/app/controllers/admin/pages_controller.rb +169 -0
  106. data/app/controllers/admin/static_content_blocks_controller.rb +174 -0
  107. data/app/controllers/admin/statistics_controller.rb +29 -0
  108. data/app/controllers/admin/widget_actualities_controller.rb +101 -0
  109. data/app/controllers/admin/widget_faqs_controller.rb +71 -0
  110. data/app/controllers/admin/widgets_controller.rb +83 -0
  111. data/app/controllers/forgeos/application_controller.rb +21 -0
  112. data/app/controllers/newsletters_controller.rb +11 -0
  113. data/app/controllers/pages_controller.rb +24 -0
  114. data/app/controllers/search_controller.rb +7 -0
  115. data/app/helpers/application_helper.rb +43 -0
  116. data/app/helpers/menu_helper.rb +46 -0
  117. data/app/helpers/routes_helper.rb +19 -0
  118. data/app/models/actuality.rb +21 -0
  119. data/app/models/block.rb +65 -0
  120. data/app/models/block_category.rb +7 -0
  121. data/app/models/carousel.rb +14 -0
  122. data/app/models/carousel_item.rb +12 -0
  123. data/app/models/category_link.rb +2 -0
  124. data/app/models/comment.rb +6 -0
  125. data/app/models/external_link.rb +5 -0
  126. data/app/models/faq.rb +10 -0
  127. data/app/models/link_page.rb +2 -0
  128. data/app/models/menu.rb +30 -0
  129. data/app/models/menu_category.rb +7 -0
  130. data/app/models/menu_link.rb +57 -0
  131. data/app/models/newsletter.rb +5 -0
  132. data/app/models/page.rb +85 -0
  133. data/app/models/page_category.rb +11 -0
  134. data/app/models/page_col.rb +14 -0
  135. data/app/models/page_link.rb +17 -0
  136. data/app/models/page_sweeper.rb +54 -0
  137. data/app/models/static_content_block.rb +2 -0
  138. data/app/models/static_content_category.rb +2 -0
  139. data/app/models/widget.rb +2 -0
  140. data/app/models/widget_actuality.rb +19 -0
  141. data/app/models/widget_category.rb +2 -0
  142. data/app/models/widget_faq.rb +12 -0
  143. data/app/views/actualities/rss.rxml +20 -0
  144. data/app/views/admin/actualities/_form.html.haml +38 -0
  145. data/app/views/admin/actualities/_tabs.html.haml +5 -0
  146. data/app/views/admin/actualities/edit.html.haml +3 -0
  147. data/app/views/admin/actualities/index.html.haml +10 -0
  148. data/app/views/admin/actualities/index.json.erb +34 -0
  149. data/app/views/admin/actualities/new.html.haml +3 -0
  150. data/app/views/admin/blocks/_associated_pages.html.haml +33 -0
  151. data/app/views/admin/blocks/_tabs.html.haml +8 -0
  152. data/app/views/admin/carousels/_attachments_popups.html.haml +81 -0
  153. data/app/views/admin/carousels/_form.html.haml +95 -0
  154. data/app/views/admin/carousels/_form_item.html.haml +54 -0
  155. data/app/views/admin/carousels/_item.html.haml +25 -0
  156. data/app/views/admin/carousels/edit.html.haml +1 -0
  157. data/app/views/admin/carousels/new.html.haml +1 -0
  158. data/app/views/admin/carousels/show.html.haml +40 -0
  159. data/app/views/admin/categories/_block.html.haml +4 -0
  160. data/app/views/admin/categories/_list_blocks.html.haml +13 -0
  161. data/app/views/admin/categories/_list_pages.html.haml +13 -0
  162. data/app/views/admin/categories/_page.html.haml +2 -0
  163. data/app/views/admin/dashboard/index.html.haml +19 -0
  164. data/app/views/admin/menu_links/_show.html.haml +8 -0
  165. data/app/views/admin/menus/_empty_menu_link.html.haml +45 -0
  166. data/app/views/admin/menus/_form.html.haml +27 -0
  167. data/app/views/admin/menus/_form_menu_links.html.haml +60 -0
  168. data/app/views/admin/menus/_lang_switcher.html.haml +2 -0
  169. data/app/views/admin/menus/_tabs.html.haml +5 -0
  170. data/app/views/admin/menus/_types_popups.html.haml +21 -0
  171. data/app/views/admin/menus/edit.html.haml +1 -0
  172. data/app/views/admin/menus/index.html.haml +13 -0
  173. data/app/views/admin/menus/index.json.erb +31 -0
  174. data/app/views/admin/menus/new.html.haml +1 -0
  175. data/app/views/admin/menus/show.html.haml +22 -0
  176. data/app/views/admin/newsletters/_form.html.haml +19 -0
  177. data/app/views/admin/newsletters/_tabs.html.haml +3 -0
  178. data/app/views/admin/newsletters/edit.html.haml +2 -0
  179. data/app/views/admin/newsletters/index.html.haml +14 -0
  180. data/app/views/admin/newsletters/index.json.erb +22 -0
  181. data/app/views/admin/newsletters/new.html.haml +2 -0
  182. data/app/views/admin/pages/_block_popup.html.haml +18 -0
  183. data/app/views/admin/pages/_blocks.html.haml +29 -0
  184. data/app/views/admin/pages/_codes.html.haml +33 -0
  185. data/app/views/admin/pages/_form.html.haml +15 -0
  186. data/app/views/admin/pages/_general.html.haml +64 -0
  187. data/app/views/admin/pages/_seo.html.haml +31 -0
  188. data/app/views/admin/pages/_tabs.html.haml +5 -0
  189. data/app/views/admin/pages/_tabs_show.html.haml +9 -0
  190. data/app/views/admin/pages/edit.html.haml +1 -0
  191. data/app/views/admin/pages/index.html.haml +13 -0
  192. data/app/views/admin/pages/index.json.erb +37 -0
  193. data/app/views/admin/pages/new.html.haml +2 -0
  194. data/app/views/admin/pages/show.html.haml +100 -0
  195. data/app/views/admin/static_content_blocks/_form.html.haml +41 -0
  196. data/app/views/admin/static_content_blocks/edit.html.haml +1 -0
  197. data/app/views/admin/static_content_blocks/index.html.haml +16 -0
  198. data/app/views/admin/static_content_blocks/index.json.erb +28 -0
  199. data/app/views/admin/static_content_blocks/new.html.haml +1 -0
  200. data/app/views/admin/static_content_blocks/show.html.haml +23 -0
  201. data/app/views/admin/statistics/index.html.haml +57 -0
  202. data/app/views/admin/users/_tabs.html.haml +3 -0
  203. data/app/views/admin/widget_actualities/_form.html.haml +87 -0
  204. data/app/views/admin/widget_actualities/_form_item.html.haml +28 -0
  205. data/app/views/admin/widget_actualities/_item.html.haml +11 -0
  206. data/app/views/admin/widget_actualities/_tabs.html.haml +8 -0
  207. data/app/views/admin/widget_actualities/edit.html.haml +2 -0
  208. data/app/views/admin/widget_actualities/new.html.haml +2 -0
  209. data/app/views/admin/widget_actualities/show.html.haml +39 -0
  210. data/app/views/admin/widget_faqs/_form.html.haml +68 -0
  211. data/app/views/admin/widget_faqs/_tabs.html.haml +8 -0
  212. data/app/views/admin/widget_faqs/edit.html.haml +2 -0
  213. data/app/views/admin/widget_faqs/new.html.haml +2 -0
  214. data/app/views/admin/widgets/_tabs.html.haml +8 -0
  215. data/app/views/admin/widgets/index.html.haml +28 -0
  216. data/app/views/admin/widgets/index.json.erb +27 -0
  217. data/app/views/layouts/admin/_menu.html.haml +0 -0
  218. data/app/views/layouts/application.html.haml +21 -0
  219. data/app/views/pages/_linked_pages.html.haml +4 -0
  220. data/app/views/pages/_page.html.haml +15 -0
  221. data/app/views/pages/show.html.haml +9 -0
  222. data/app/views/search/index.html.haml +8 -0
  223. data/config/locales/activerecord/en.yml +48 -0
  224. data/config/locales/activerecord/fr.yml +77 -0
  225. data/config/locales/admin/actuality/en.yml +30 -0
  226. data/config/locales/admin/actuality/fr.yml +30 -0
  227. data/config/locales/admin/block/en.yml +38 -0
  228. data/config/locales/admin/block/fr.yml +38 -0
  229. data/config/locales/admin/carousel/en.yml +24 -0
  230. data/config/locales/admin/carousel/fr.yml +24 -0
  231. data/config/locales/admin/menu/en.yml +33 -0
  232. data/config/locales/admin/menu/fr.yml +38 -0
  233. data/config/locales/admin/newsletter/en.yml +30 -0
  234. data/config/locales/admin/newsletter/fr.yml +30 -0
  235. data/config/locales/admin/page/en.yml +77 -0
  236. data/config/locales/admin/page/fr.yml +77 -0
  237. data/config/locales/admin/section/en.yml +23 -0
  238. data/config/locales/admin/section/fr.yml +23 -0
  239. data/config/locales/admin/static_content_block/en.yml +43 -0
  240. data/config/locales/admin/static_content_block/fr.yml +42 -0
  241. data/config/locales/admin/widget/en.yml +34 -0
  242. data/config/locales/admin/widget/fr.yml +34 -0
  243. data/config/locales/admin/widget_actuality/en.yml +23 -0
  244. data/config/locales/admin/widget_actuality/fr.yml +23 -0
  245. data/config/locales/admin/widget_faq/en.yml +22 -0
  246. data/config/locales/admin/widget_faq/fr.yml +30 -0
  247. data/config/locales/common/en.yml +208 -0
  248. data/config/locales/common/fr.yml +209 -0
  249. data/config/routes.rb +73 -0
  250. data/db/fixtures/menu_link_translations.yml +5 -0
  251. data/db/fixtures/menu_links.yml +5 -0
  252. data/db/fixtures/menus.yml +3 -0
  253. data/db/fixtures/page_translations.yml +19 -0
  254. data/db/fixtures/pages.yml +5 -0
  255. data/db/fixtures/people.yml +11 -0
  256. data/db/migrate/20091009134405_create_actualities.rb +18 -0
  257. data/db/migrate/20091009134503_create_blocks.rb +15 -0
  258. data/db/migrate/20091009134510_create_blocks_pages.rb +13 -0
  259. data/db/migrate/20091009134518_create_carousel_items.rb +17 -0
  260. data/db/migrate/20091009134729_create_pages.rb +18 -0
  261. data/db/migrate/20091009134736_create_pages_links.rb +12 -0
  262. data/db/migrate/20091027153116_create_menus.rb +14 -0
  263. data/db/migrate/20091027153659_create_menu_links.rb +19 -0
  264. data/db/migrate/20091208113459_create_page_translations.rb +9 -0
  265. data/db/migrate/20091208113460_create_block_translations.rb +9 -0
  266. data/db/migrate/20091208113461_create_menu_link_translations.rb +9 -0
  267. data/db/migrate/20091208170256_remove_translations_to_page.rb +10 -0
  268. data/db/migrate/20091208170257_remove_translations_to_block.rb +9 -0
  269. data/db/migrate/20091208170258_remove_translations_to_menu_link.rb +9 -0
  270. data/db/migrate/20100203102853_add_actuality_translations.rb +9 -0
  271. data/db/migrate/20100203102914_add_carousel_item_translations.rb +9 -0
  272. data/db/migrate/20100203125804_remove_translated_columns_to_actualities.rb +9 -0
  273. data/db/migrate/20100203125820_remove_translated_columns_to_carousel_items.rb +10 -0
  274. data/db/migrate/20100405095844_create_page_cols_table.rb +12 -0
  275. data/db/migrate/20100405101416_create_blocks_page_cols.rb +13 -0
  276. data/db/migrate/20100407093551_create_table_translation_for_page_cols.rb +13 -0
  277. data/db/migrate/20100413134832_add_index_on_menu_links.rb +11 -0
  278. data/db/migrate/20100501150819_add_code_to_pages.rb +13 -0
  279. data/db/migrate/20100511161012_create_faqs.rb +13 -0
  280. data/db/migrate/20100526163534_add_popup_to_menu_link.rb +9 -0
  281. data/db/migrate/20100929183346_change_answer_type.rb +9 -0
  282. data/db/migrate/20101015095242_update_actualities.rb +11 -0
  283. data/db/migrate/20101216155044_create_newsletter.rb +12 -0
  284. data/db/migrate/20110310092311_add_indexes_to_menu.rb +9 -0
  285. data/db/migrate/20110408133955_add_summary_to_menu_link_translations.rb +7 -0
  286. data/lib/forgeos/admin_menu.rb +14 -0
  287. data/lib/forgeos/cms.rb +8 -0
  288. data/lib/forgeos/cms/engine.rb +8 -0
  289. data/lib/forgeos/cms/statistics.rb +16 -0
  290. data/lib/forgeos_cms.rb +3 -0
  291. data/lib/tasks/install.rake +9 -0
  292. data/lib/tasks/upgrade.rake +22 -0
  293. data/recipes/deploy.rb +14 -0
  294. metadata +375 -0
@@ -0,0 +1,138 @@
1
+ .pages-tree
2
+ padding: 10px
3
+
4
+
5
+ .tree-page_category li
6
+ width: 95%
7
+
8
+ &.open
9
+ background: url("brown-minus.png") 0px 1px no-repeat
10
+
11
+ &.closed
12
+ background: url("brown-plus.png") 0 1px no-repeat
13
+
14
+
15
+ #jstree-dragged.tree-page_category li li.open
16
+ background: url("brown-plus.png") 0 1px no-repeat
17
+
18
+
19
+ .tree.tree-page_category .ltr li a
20
+ padding: 0px 5px 0px 24px
21
+ color: #75491B
22
+ font-weight: bold
23
+ font-size: 0.8em
24
+ background-position: 0 -272px
25
+ display: block
26
+
27
+
28
+ .tree-page_category li
29
+ span
30
+ padding: 0px 5px 0px 24px
31
+ color: #75491B
32
+ font-weight: bold
33
+ font-size: 0.8em
34
+ background-position: 0 -272px
35
+ display: block
36
+
37
+ a span
38
+ height: 13px
39
+ width: 19px
40
+ font-size: 0.7em
41
+ right: 5px
42
+ position: absolute
43
+ margin-top: -16px
44
+
45
+
46
+ .tree.tree-page_category .ltr li
47
+ a
48
+ &.page
49
+ padding: 3px 5px 3px 32px
50
+ background-position: 6px -1200px
51
+
52
+ &:hover, &.hover
53
+ background-color: #FDD794
54
+ color: #F16028
55
+
56
+ &.clicked
57
+ background-color: #FDD794
58
+ color: #F16028
59
+
60
+ &:hover
61
+ background-color: #FDD794
62
+ color: #F16028
63
+
64
+ span.clicked
65
+ background-color: #FDD794
66
+ color: #F16028
67
+
68
+ a.page
69
+ &:hover span, &.hover span, &.clicked span, &.active span, &.clicked:hover span
70
+ background-position: 0 -3637px
71
+
72
+ &:hover, &.hover, &.clicked, &.active, &.clicked:hover
73
+ background-color: #81C44E
74
+ -moz-border-radius: 4px
75
+ color: #FFF
76
+
77
+ span.clicked
78
+ background-color: #81C44E
79
+ -moz-border-radius: 4px
80
+ color: #FFF
81
+
82
+
83
+ .tree-page_category li span.clicked
84
+ padding: 0px 3px 0px 20px
85
+
86
+
87
+ .tree.tree-page_category .ltr li a.loading
88
+ background-image: url("throbber.gif")
89
+
90
+
91
+ .tree-page_category-context
92
+ width: 160px
93
+ background: #FFF
94
+ border: 1px solid #AEB0B2
95
+ position: absolute
96
+ border-bottom: 0
97
+
98
+ a
99
+ display: block
100
+ text-decoration: none
101
+ border-bottom: 1px solid #AEB0B2
102
+ color: black
103
+ line-height: 20px
104
+ padding: 1px 0 1px 25px
105
+ margin: 0
106
+
107
+ &.disabled:hover
108
+ display: block
109
+ text-decoration: none
110
+ border-bottom: 1px solid #AEB0B2
111
+ color: black
112
+ line-height: 20px
113
+ padding: 1px 0 1px 25px
114
+ margin: 0
115
+
116
+ &:hover
117
+ background-color: #D6EDF4
118
+ padding: 0 0 0 25px
119
+ margin: 0
120
+ color: #2973BD
121
+ border-bottom: 1px solid #AEB0B2
122
+
123
+ &.disabled
124
+ color: silver
125
+ opacity: 0.5
126
+ -ms-filter: 'alpha(opacity=50)'
127
+ filter: alpha(opacity=50)
128
+ zoom: 1
129
+
130
+ &:hover
131
+ color: silver
132
+ opacity: 0.5
133
+ -ms-filter: 'alpha(opacity=50)'
134
+ filter: alpha(opacity=50)
135
+ zoom: 1
136
+
137
+ .separator
138
+ display: none !important
@@ -0,0 +1,11 @@
1
+ class ActualitiesController < Forgeos::ApplicationController
2
+
3
+ def rss
4
+ @actualities = Actuality.find_all_by_active(true, :limit => 20, :order => 'created_at DESC')
5
+ @feed_title = 'Feed title'
6
+ @feed_description = 'Feed description'
7
+ @locale = 'fr-fr'
8
+ response.headers['Content-Type'] = 'application/rss+xml'
9
+ end
10
+
11
+ end
@@ -0,0 +1,100 @@
1
+ class Admin::ActualitiesController < Admin::BaseController
2
+
3
+ cache_sweeper :page_sweeper, :only => [:create, :update, :destroy]
4
+ before_filter :get_actuality, :only => [:show, :edit, :update, :destroy, :activate]
5
+ before_filter :new_actuality, :only => [:new, :create]
6
+
7
+
8
+ def index
9
+ respond_to do |format|
10
+ format.html
11
+ format.json do
12
+ sort
13
+ render :layout => false
14
+ end
15
+ end
16
+ end
17
+
18
+ def edit
19
+ end
20
+
21
+ def update
22
+ if @actuality.update_attributes(params[:actuality])
23
+ flash[:notice] = t('actuality.update.success').capitalize
24
+ redirect_to([forgeos_cms, :admin, :actualities])
25
+ else
26
+ flash[:error] = t('actuality.update.failed').capitalize
27
+ render :action => 'edit'
28
+ end
29
+
30
+ end
31
+
32
+ def new
33
+
34
+ end
35
+
36
+ def create
37
+ if @actuality.save
38
+ flash[:notice] = t('actuality.create.success').capitalize
39
+ redirect_to([forgeos_cms, :admin, :actualities])
40
+ else
41
+ flash[:error] = @actuality.errors.first.inspect
42
+ render :action => 'new'
43
+ end
44
+ end
45
+
46
+ def activate
47
+ render :text => @actuality.activate
48
+ end
49
+
50
+ def destroy
51
+ if @actuality.destroy
52
+ flash[:notice] = t('actuality.destroy.success').capitalize
53
+ return redirect_to([forgeos_cms, :admin, :actualities]) if !request.xhr?
54
+ else
55
+ flash[:error] = t('actuality.destroy.failed').capitalize
56
+ end
57
+ render :nothing => true
58
+ end
59
+
60
+
61
+ private
62
+
63
+ def get_actuality
64
+ @actuality = Actuality.find_by_id(params[:id])
65
+ end
66
+
67
+ def new_actuality
68
+ @actuality = Actuality.new(params[:actuality])
69
+ end
70
+
71
+ def sort
72
+ columns = %w(id title date active)
73
+
74
+ per_page = params[:iDisplayLength] ? params[:iDisplayLength].to_i : 10
75
+ offset = params[:iDisplayStart] ? params[:iDisplayStart].to_i : 0
76
+ page = (offset / per_page) + 1
77
+ order = "#{columns[params[:iSortCol_0].to_i]} #{params[:iSortDir_0] ? params[:iSortDir_0].upcase : 'ASC'}"
78
+
79
+ conditions = {}
80
+ includes = []
81
+ options = {:page => page, :per_page => per_page }
82
+
83
+ options[:conditions] = conditions unless conditions.empty?
84
+ options[:include] = includes unless includes.empty?
85
+ options[:order] = order unless order.squeeze.blank?
86
+
87
+ joins = []
88
+ joins << :translations
89
+
90
+
91
+ if params[:sSearch] && !params[:sSearch].blank?
92
+ @actualities = Actuality.search(params[:sSearch],options)
93
+ else
94
+ options[:joins] = joins
95
+ @actualities = Actuality.paginate(:all,options)
96
+ end
97
+ end
98
+
99
+
100
+ end
@@ -0,0 +1,11 @@
1
+ load File.join(Gem.loaded_specs['forgeos_core'].full_gem_path, 'app', 'controllers', 'admin', 'base_controller.rb')
2
+ Admin::BaseController.class_eval do
3
+ before_filter :forgeos_cms_javascripts_files
4
+
5
+ private
6
+
7
+ def forgeos_cms_javascripts_files
8
+ @forgeos_js_functions_files += forgeos_javascripts_files('forgeos_cms', 'forgeos/admin/functions')
9
+ @forgeos_js_inits_files += forgeos_javascripts_files('forgeos_cms', 'forgeos/admin/inits')
10
+ end
11
+ end
@@ -0,0 +1,101 @@
1
+ class Admin::CarouselsController < Admin::BaseController
2
+ cache_sweeper :page_sweeper, :only => [:create, :update, :destroy]
3
+ before_filter :get_carousel, :only => [:show, :edit, :update, :destroy, :duplicate]
4
+ before_filter :new_carousel, :only => [:new, :create]
5
+ before_filter :get_pages_and_categories, :only => [:index, :show, :new, :create, :edit, :update, :duplicate]
6
+
7
+ def index
8
+ return redirect_to([forgeos_cms, :admin, :widgets])
9
+ end
10
+
11
+ def show; end
12
+
13
+ def new; end
14
+
15
+ def edit; end
16
+
17
+ def duplicate
18
+ @carousel = @carousel.clone
19
+ render :action => 'new'
20
+ end
21
+
22
+ def create
23
+ # check that the linked page exists if page_id is specified
24
+ if params[:page_id] && !get_page
25
+ flash[:error] = I18n.t('widget.link.create.failed').capitalize
26
+ return
27
+ end
28
+
29
+ if @carousel.save
30
+ flash[:notice] = I18n.t('carousel.create.success').capitalize
31
+ redirect_to([forgeos_cms, :edit, :admin, @carousel])
32
+ else
33
+ flash[:error] = I18n.t('carousel.create.failed').capitalize
34
+ render :action => "new"
35
+ end
36
+ end
37
+
38
+ def update
39
+ if updated = @carousel.update_attributes(params[:carousel])
40
+ flash[:notice] = I18n.t('carousel.update.success').capitalize
41
+ else
42
+ flash[:error] = I18n.t('carousel.update.failed').capitalize
43
+ end
44
+
45
+ respond_to do |format|
46
+ format.html {
47
+ return render :action => "edit"
48
+ }
49
+
50
+ format.js {
51
+ return render :nothing => true
52
+ }
53
+ end
54
+ end
55
+
56
+ def destroy
57
+ if @carousel.destroy
58
+ flash[:notice] = I18n.t('carousel.destroy.success').capitalize
59
+ else
60
+ flash[:error] = I18n.t('carousel.destroy.failed').capitalize
61
+ end
62
+ return redirect_to([forgeos_cms, :admin, :widgets])
63
+ end
64
+
65
+ private
66
+
67
+ def get_carousel
68
+ unless @carousel = Carousel.find_by_id(params[:id])
69
+ flash[:error] = I18n.t('carousel.not_exist').capitalize
70
+ return redirect_to([forgeos_cms, :admin, :widgets])
71
+ end
72
+ end
73
+
74
+ def get_page
75
+ #flash[:error] = I18n.t('page.not_exist').capitalize
76
+ end
77
+
78
+ def get_pages_and_categories
79
+ @page_categories = PageCategory.find_all_by_parent_id(nil,:joins => :translations, :order => 'name')
80
+ @pages = Page.all(:include => :categories, :conditions => { :categories_elements => { :category_id => nil }})
81
+ end
82
+
83
+ def new_carousel
84
+ @carousel = Carousel.new params[:carousel]
85
+ end
86
+
87
+ def link_and_redirect_to_page
88
+ widget = @carousel.widgets
89
+ @page.widgets << widget
90
+ @page.widgets.reset_positions
91
+
92
+ if @carousel.save
93
+ return redirect_to([forgeos_cms, :admin, @page, :widgets])
94
+ else
95
+ @carousel.destroy
96
+ flash[:notice] = nil
97
+ flash[:error] = @carousel.errors
98
+ return
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,20 @@
1
+ load File.join(Gem.loaded_specs['forgeos_core'].full_gem_path, 'app', 'controllers', 'admin', 'import_controller.rb')
2
+ class Admin::ImportController < Admin::BaseController
3
+ map_fields :create_page, Page.new.attributes.keys
4
+ map_fields :create_block, Block.new.attributes.keys
5
+ before_filter :cms_models, :only => :index
6
+
7
+ def create_page
8
+ create_model(Page,'single_key')
9
+ end
10
+
11
+ def create_block
12
+ create_model(Block,'single_key')
13
+ end
14
+
15
+ private
16
+
17
+ def cms_models
18
+ @models << 'page' << 'block'
19
+ end
20
+ end
@@ -0,0 +1,104 @@
1
+ class Admin::MenusController < Admin::BaseController
2
+ cache_sweeper :page_sweeper, :only => [:create, :update, :destroy, :link, :activate]
3
+ before_filter :get_menu, :only => [:show, :edit, :update, :destroy, :duplicate, :activate]
4
+ before_filter :new_menu, :only => [:new, :create]
5
+
6
+ def index
7
+ respond_to do |format|
8
+ format.html
9
+ format.json do
10
+ sort
11
+ render :layout => false
12
+ end
13
+ end
14
+ end
15
+
16
+ def show
17
+ end
18
+
19
+ def new
20
+ end
21
+
22
+ def duplicate
23
+ @menu = @menu.clone
24
+ render :action => 'new'
25
+ end
26
+
27
+ def create
28
+ if @menu.save
29
+ flash[:notice] = t('menu.create.success').capitalize
30
+ redirect_to([forgeos_cms, :edit, :admin, @menu])
31
+ else
32
+ flash[:error] = t('menu.create.failed').capitalize
33
+ render :action => 'new'
34
+ end
35
+ end
36
+
37
+ def edit
38
+ end
39
+
40
+ def update
41
+ if @menu.update_attributes(params[:menu])
42
+ flash[:notice] = t('menu.update.success').capitalize
43
+ redirect_to([forgeos_cms, :edit, :admin, @menu])
44
+ else
45
+ flash[:error] = t('menu.update.failed').capitalize
46
+ render(:action => 'edit')
47
+ end
48
+ end
49
+
50
+ def destroy
51
+ if @menu.destroy
52
+ flash[:notice] = t('menu.destroy.success').capitalize
53
+ else
54
+ flash[:error] = t('menu.destroy.failed').capitalize
55
+ end
56
+ return redirect_to([forgeos_cms, :admin, :menus])
57
+ end
58
+
59
+ def activate
60
+ render :text => @menu.activate
61
+ end
62
+
63
+ private
64
+
65
+ def get_menu
66
+ unless @menu = ::Menu.find_by_id(params[:id])
67
+ flash[:error] = t('menu.not_exist').capitalize
68
+ return redirect_to([forgeos_cms, :admin, :menus])
69
+ end
70
+ end
71
+
72
+ def new_menu
73
+ @menu = ::Menu.new(params[:menu])
74
+ end
75
+
76
+ def sort
77
+ columns = %w(menus.name menus.name active)
78
+ per_page = params[:iDisplayLength].to_i
79
+ offset = params[:iDisplayStart].to_i
80
+ page = (offset / per_page) + 1
81
+ order_column = params[:iSortCol_0].to_i
82
+ order = "#{columns[order_column]} #{params[:iSortDir_0].upcase}"
83
+
84
+ conditions = {}
85
+ includes = []
86
+ options = { :page => page, :per_page => per_page }
87
+
88
+ if params[:category_id]
89
+ conditions[:categories_elements] = { :category_id => params[:category_id] }
90
+ includes << :menu_categories
91
+ end
92
+
93
+ options[:conditions] = conditions unless conditions.empty?
94
+ options[:include] = includes unless includes.empty?
95
+ options[:order] = order unless order.squeeze.blank?
96
+
97
+ if params[:sSearch] && !params[:sSearch].blank?
98
+ options[:star] = true
99
+ @menus = ::Menu.search(params[:sSearch], options)
100
+ else
101
+ @menus = ::Menu.paginate(:all, options)
102
+ end
103
+ end
104
+ end