humpyard 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. data/Gemfile +28 -0
  2. data/README.rdoc +61 -0
  3. data/VERSION +1 -0
  4. data/app/controllers/humpyard/assets_controller.rb +123 -0
  5. data/app/controllers/humpyard/elements_controller.rb +200 -0
  6. data/app/controllers/humpyard/errors_controller.rb +8 -0
  7. data/app/controllers/humpyard/pages_controller.rb +365 -0
  8. data/app/helpers/humpyard/pages_helper.rb +19 -0
  9. data/app/models/humpyard/asset.rb +22 -0
  10. data/app/models/humpyard/assets/paperclip_asset.rb +48 -0
  11. data/app/models/humpyard/assets/youtube_asset.rb +38 -0
  12. data/app/models/humpyard/element.rb +57 -0
  13. data/app/models/humpyard/elements/box_element.rb +15 -0
  14. data/app/models/humpyard/elements/media_element.rb +13 -0
  15. data/app/models/humpyard/elements/news_element.rb +13 -0
  16. data/app/models/humpyard/elements/sitemap_element.rb +11 -0
  17. data/app/models/humpyard/elements/text_element.rb +49 -0
  18. data/app/models/humpyard/news_item.rb +42 -0
  19. data/app/models/humpyard/page.rb +153 -0
  20. data/app/models/humpyard/pages/news_page.rb +71 -0
  21. data/app/models/humpyard/pages/static_page.rb +25 -0
  22. data/app/models/humpyard/pages/virtual_page.rb +30 -0
  23. data/app/views/humpyard/assets/_edit.html.haml +15 -0
  24. data/app/views/humpyard/assets/_index.html.haml +24 -0
  25. data/app/views/humpyard/assets/_list.html.haml +4 -0
  26. data/app/views/humpyard/assets/_list_item.html.haml +1 -0
  27. data/app/views/humpyard/assets/_show.html.haml +38 -0
  28. data/app/views/humpyard/assets/_show_asset.html.haml +3 -0
  29. data/app/views/humpyard/assets/destroy.js.erb +4 -0
  30. data/app/views/humpyard/assets/paperclip_assets/_edit.html.haml +4 -0
  31. data/app/views/humpyard/assets/paperclip_assets/_info_table.html.haml +10 -0
  32. data/app/views/humpyard/assets/paperclip_assets/_show.html.haml +12 -0
  33. data/app/views/humpyard/assets/youtube_assets/_edit.html.haml +4 -0
  34. data/app/views/humpyard/assets/youtube_assets/_show.html.haml +5 -0
  35. data/app/views/humpyard/common/_head.html.haml +8 -0
  36. data/app/views/humpyard/common/_page_construct.html.haml +45 -0
  37. data/app/views/humpyard/elements/_edit.html.haml +25 -0
  38. data/app/views/humpyard/elements/_inline_edit.haml +0 -0
  39. data/app/views/humpyard/elements/_new.html.haml +1 -0
  40. data/app/views/humpyard/elements/_show.html.haml +29 -0
  41. data/app/views/humpyard/elements/_show_container.html.haml +3 -0
  42. data/app/views/humpyard/elements/_show_view.html.haml +2 -0
  43. data/app/views/humpyard/elements/box_elements/_edit.html.haml +4 -0
  44. data/app/views/humpyard/elements/box_elements/_inline_edit.html.haml +0 -0
  45. data/app/views/humpyard/elements/box_elements/_show.html.haml +5 -0
  46. data/app/views/humpyard/elements/destroy.js.erb +1 -0
  47. data/app/views/humpyard/elements/error.js.erb +1 -0
  48. data/app/views/humpyard/elements/media_elements/_edit.html.haml +7 -0
  49. data/app/views/humpyard/elements/media_elements/_show.html.haml +8 -0
  50. data/app/views/humpyard/elements/news_elements/_edit.html.haml +5 -0
  51. data/app/views/humpyard/elements/news_elements/_inline_edit.html.haml +0 -0
  52. data/app/views/humpyard/elements/news_elements/_show.html.haml +4 -0
  53. data/app/views/humpyard/elements/sitemap_elements/_edit.html.haml +5 -0
  54. data/app/views/humpyard/elements/sitemap_elements/_inline_edit.html.haml +0 -0
  55. data/app/views/humpyard/elements/sitemap_elements/_show.html.haml +3 -0
  56. data/app/views/humpyard/elements/sitemap_elements/_show_part.html.haml +12 -0
  57. data/app/views/humpyard/elements/text_elements/_edit.html.haml +4 -0
  58. data/app/views/humpyard/elements/text_elements/_inline_edit.html.haml +0 -0
  59. data/app/views/humpyard/elements/text_elements/_show.html.haml +4 -0
  60. data/app/views/humpyard/pages/_content.html.haml +2 -0
  61. data/app/views/humpyard/pages/_edit.html.haml +39 -0
  62. data/app/views/humpyard/pages/_index.html.haml +23 -0
  63. data/app/views/humpyard/pages/_show.html.haml +16 -0
  64. data/app/views/humpyard/pages/_subtree.html.haml +6 -0
  65. data/app/views/humpyard/pages/_tree.html.haml +3 -0
  66. data/app/views/humpyard/pages/destroy.js.erb +4 -0
  67. data/app/views/humpyard/pages/news_pages/_detail.html.haml +10 -0
  68. data/app/views/humpyard/pages/news_pages/_edit.html.haml +3 -0
  69. data/app/views/humpyard/pages/news_pages/_show.html.haml +5 -0
  70. data/app/views/humpyard/pages/show.html.haml +3 -0
  71. data/app/views/humpyard/pages/static_pages/_edit.html.haml +1 -0
  72. data/app/views/humpyard/pages/static_pages/_show.html.haml +1 -0
  73. data/app/views/humpyard/pages/virtual_pages/_edit.html.haml +7 -0
  74. data/app/views/humpyard/pages/virtual_pages/_show.html.haml +4 -0
  75. data/app/views/humpyard/pages/welcome.html.haml +13 -0
  76. data/compass/stylesheets/_humpyard.scss +12 -0
  77. data/compass/stylesheets/humpyard/_backend.scss +1 -0
  78. data/compass/stylesheets/humpyard/_base.scss +144 -0
  79. data/compass/stylesheets/humpyard/_ie.scss +1 -0
  80. data/compass/stylesheets/humpyard/_jquery_ui_overrides.scss +380 -0
  81. data/compass/stylesheets/humpyard/_print.scss +3 -0
  82. data/config/locales/de.yml +84 -0
  83. data/config/locales/en.yml +81 -0
  84. data/config/routes.rb +38 -0
  85. data/db/migrate/20100321134138_base.rb +60 -0
  86. data/db/migrate/20100330204700_create_box_element.rb +24 -0
  87. data/db/migrate/20100401153655_page_template.rb +11 -0
  88. data/db/migrate/20100409195732_page_types.rb +26 -0
  89. data/db/migrate/20100413230623_element_yield.rb +14 -0
  90. data/db/migrate/20100415132312_news_page.rb +48 -0
  91. data/db/migrate/20100415193423_page_i18n_name.rb +27 -0
  92. data/db/migrate/20100415213700_create_news_element.rb +12 -0
  93. data/db/migrate/20100703120000_shared_elements.rb +9 -0
  94. data/db/migrate/20101001142534_page_modified_at.rb +11 -0
  95. data/db/migrate/20101003100138_create_sitemap_elements.rb +13 -0
  96. data/db/migrate/20101003122108_create_humpyard_pages_virtual_pages.rb +11 -0
  97. data/db/migrate/20101006070503_page_cache_control.rb +9 -0
  98. data/db/migrate/20101104173743_create_media.rb +36 -0
  99. data/db/migrate/20110425230524_media_with_link.rb +9 -0
  100. data/lib/generators/humpyard.rb +114 -0
  101. data/lib/generators/humpyard/auth/auth_generator.rb +191 -0
  102. data/lib/generators/humpyard/auth/templates/authlogic/README +9 -0
  103. data/lib/generators/humpyard/auth/templates/authlogic/controllers/user_sessions_controller.rb +22 -0
  104. data/lib/generators/humpyard/auth/templates/authlogic/migration.rb +17 -0
  105. data/lib/generators/humpyard/auth/templates/authlogic/models/ability.rb +12 -0
  106. data/lib/generators/humpyard/auth/templates/authlogic/models/user.rb +7 -0
  107. data/lib/generators/humpyard/auth/templates/authlogic/models/user_session.rb +6 -0
  108. data/lib/generators/humpyard/auth/templates/authlogic/views/user_sessions/new.html.haml +12 -0
  109. data/lib/generators/humpyard/auth/templates/custom/README +8 -0
  110. data/lib/generators/humpyard/auth/templates/devise/README +14 -0
  111. data/lib/generators/humpyard/auth/templates/devise/models/ability.rb +14 -0
  112. data/lib/generators/humpyard/auth/templates/fake/README +0 -0
  113. data/lib/generators/humpyard/auth/templates/fake/models/ability.rb +12 -0
  114. data/lib/generators/humpyard/auth/templates/simple/README +16 -0
  115. data/lib/generators/humpyard/auth/templates/simple/config/humpyard_users.yml +2 -0
  116. data/lib/generators/humpyard/auth/templates/simple/controllers/user_sessions_controller.rb +39 -0
  117. data/lib/generators/humpyard/auth/templates/simple/models/ability.rb +12 -0
  118. data/lib/generators/humpyard/auth/templates/simple/views/user_sessions/new.html.haml +15 -0
  119. data/lib/generators/humpyard/element/USAGE +7 -0
  120. data/lib/generators/humpyard/element/element_generator.rb +82 -0
  121. data/lib/generators/humpyard/element/templates/_edit.html.haml +12 -0
  122. data/lib/generators/humpyard/element/templates/_inline_edit.html.haml +0 -0
  123. data/lib/generators/humpyard/element/templates/_show.html.haml +9 -0
  124. data/lib/generators/humpyard/element/templates/fixtures.yml +23 -0
  125. data/lib/generators/humpyard/element/templates/migration.rb +16 -0
  126. data/lib/generators/humpyard/element/templates/model.rb +11 -0
  127. data/lib/generators/humpyard/element/templates/tests/rspec/model.rb +7 -0
  128. data/lib/generators/humpyard/element/templates/tests/shoulda/model.rb +7 -0
  129. data/lib/generators/humpyard/element/templates/tests/test_unit/model.rb +7 -0
  130. data/lib/generators/humpyard/page/USAGE +7 -0
  131. data/lib/generators/humpyard/page/page_generator.rb +80 -0
  132. data/lib/generators/humpyard/page/templates/_edit.html.haml +7 -0
  133. data/lib/generators/humpyard/page/templates/_show.html.haml +4 -0
  134. data/lib/generators/humpyard/page/templates/fixtures.yml +23 -0
  135. data/lib/generators/humpyard/page/templates/migration.rb +16 -0
  136. data/lib/generators/humpyard/page/templates/model.rb +37 -0
  137. data/lib/generators/humpyard/page/templates/tests/rspec/model.rb +7 -0
  138. data/lib/generators/humpyard/page/templates/tests/shoulda/model.rb +7 -0
  139. data/lib/generators/humpyard/page/templates/tests/test_unit/model.rb +7 -0
  140. data/lib/generators/humpyard/skeleton/USAGE +6 -0
  141. data/lib/generators/humpyard/skeleton/skeleton_generator.rb +99 -0
  142. data/lib/generators/humpyard/skeleton/templates/compass.config +14 -0
  143. data/lib/generators/humpyard/skeleton/templates/images/ajax-loader.gif +0 -0
  144. data/lib/generators/humpyard/skeleton/templates/images/grid.png +0 -0
  145. data/lib/generators/humpyard/skeleton/templates/initializers/compass.rb +16 -0
  146. data/lib/generators/humpyard/skeleton/templates/initializers/haml.rb +3 -0
  147. data/lib/generators/humpyard/skeleton/templates/initializers/humpyard.rb +20 -0
  148. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/images/jstree/d.png +0 -0
  149. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/images/jstree/throbber.gif +0 -0
  150. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/javascripts/jquery-1.5.1.js +8316 -0
  151. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/javascripts/jquery-humpyard.js +790 -0
  152. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/javascripts/jquery-rails.js +157 -0
  153. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/javascripts/jquery-ui-1.8.10.js +11544 -0
  154. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/javascripts/jquery.form-2.64.js +803 -0
  155. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/javascripts/jquery.jstree.js +3510 -0
  156. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  157. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  158. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  159. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  160. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  161. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  162. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  163. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  164. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-icons_222222_256x240.png +0 -0
  165. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  166. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-icons_454545_256x240.png +0 -0
  167. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-icons_888888_256x240.png +0 -0
  168. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  169. data/lib/generators/humpyard/skeleton/templates/javascripts/jquery-ui-18/stylesheets/smoothness/jquery-ui-1.8.10.css +573 -0
  170. data/lib/generators/humpyard/skeleton/templates/stylesheets/ie.sass +15 -0
  171. data/lib/generators/humpyard/skeleton/templates/stylesheets/ie.scss +16 -0
  172. data/lib/generators/humpyard/skeleton/templates/stylesheets/partials/_base.sass +12 -0
  173. data/lib/generators/humpyard/skeleton/templates/stylesheets/partials/_base.scss +11 -0
  174. data/lib/generators/humpyard/skeleton/templates/stylesheets/print.sass +3 -0
  175. data/lib/generators/humpyard/skeleton/templates/stylesheets/print.scss +3 -0
  176. data/lib/generators/humpyard/skeleton/templates/stylesheets/screen.sass +78 -0
  177. data/lib/generators/humpyard/skeleton/templates/stylesheets/screen.scss +90 -0
  178. data/lib/generators/humpyard/skeleton/templates/views/layout.html.haml +28 -0
  179. data/lib/html_to_textile.rb +220 -0
  180. data/lib/humpyard.rb +70 -0
  181. data/lib/humpyard/action_controller/base.rb +24 -0
  182. data/lib/humpyard/active_model/naming.rb +29 -0
  183. data/lib/humpyard/active_model/translation.rb +26 -0
  184. data/lib/humpyard/active_model/validators/publish_range.rb +14 -0
  185. data/lib/humpyard/active_record/acts/asset.rb +68 -0
  186. data/lib/humpyard/active_record/acts/container_element.rb +26 -0
  187. data/lib/humpyard/active_record/acts/element.rb +89 -0
  188. data/lib/humpyard/active_record/acts/page.rb +101 -0
  189. data/lib/humpyard/active_record/has/title_for_url.rb +75 -0
  190. data/lib/humpyard/compass.rb +6 -0
  191. data/lib/humpyard/config.rb +235 -0
  192. data/lib/humpyard/engine.rb +7 -0
  193. data/lib/humpyard/uri_parser.rb +16 -0
  194. data/lib/humpyard/uri_parser/assets_uri_parser.rb +15 -0
  195. data/lib/humpyard/uri_parser/pages_uri_parser.rb +15 -0
  196. data/lib/tasks/humpyard.rake +103 -0
  197. metadata +331 -0
@@ -0,0 +1,3 @@
1
+ #hy-top, #hy-bottom, .hy-el-menu {
2
+ display: none;
3
+ }
@@ -0,0 +1,84 @@
1
+ de:
2
+ activerecord:
3
+ models:
4
+ humpyard:
5
+ element: "Element"
6
+ elements:
7
+ box_element: 'Rahmenelement'
8
+ text_element: 'Textelement'
9
+ news_element: 'Nachrichtenelement'
10
+ page: "Seite"
11
+ pages:
12
+ static_page: 'Statische Seite'
13
+ news_page: 'Nachrichtenseite'
14
+ virtual_page: 'Virtuelle Seite'
15
+ attributes:
16
+ humpyard:
17
+ elements:
18
+ shared_state: "Element teilen"
19
+ display_from: "Anzeige von"
20
+ display_until: "Anzeige bis"
21
+ box_element:
22
+ title: "Überschrift"
23
+ text_element:
24
+ content: "Inhalt"
25
+ html_content: "Inhalt (formatiert)"
26
+ news_element:
27
+ news_page: "Nachrichtenseite"
28
+ media_element:
29
+ asset: "Medium"
30
+ float: "Schwebende Ausrichtung"
31
+ uri: "Link Adresse"
32
+ pages:
33
+ title: "Überschrift"
34
+ description: "Beschreibung"
35
+ in_menu: "Im Menü anzeigen"
36
+ in_sitemap: "In der Sitemap anzeigen"
37
+ always_refresh: "Keinen Cache verwenden"
38
+ display_from: "Anzeige von"
39
+ display_until: "Anzeige bis"
40
+
41
+ yes: Ja
42
+ no: Nein
43
+
44
+ humpyard:
45
+ elements:
46
+ media_elements:
47
+ edit:
48
+ uri_description: "Die Link-Adresse funktioniert nur mit gewissen Medientypen wie Bildern."
49
+ none: "Keine"
50
+ left: "Links"
51
+ right: "Rechts"
52
+
53
+
54
+ humpyard_cms:
55
+ start: 'Humpyard %{version} laden'
56
+ login:
57
+ title: "Humpyard Anmeldung"
58
+ username: "Benutzer"
59
+ password: "Kennwort"
60
+ submit: "Anmelden"
61
+ login_error: "Konnte Sie mit den angegebenen Daten nicht anmelden!"
62
+ shared_state_info:
63
+ owning_page:
64
+ "0": Ungeteilt
65
+ "1": Mit allen Geschwisterseiten geteilt
66
+ "2": Mit allen Kinderseiten geteilt
67
+ with_title:
68
+ "0": Ungeteilt
69
+ "1": Mit Geschwisterseite '%{title}' geteilt
70
+ "2": Von Elternseite '%{title}' geteilt
71
+ toolbar:
72
+ edit: "Seite bearbeiten"
73
+ pages: "Seiten verwalten"
74
+ assets: "Medien verwalten"
75
+ logout: "Abmelden"
76
+ pages:
77
+ edit:
78
+ title: "Seiten bearbeiten"
79
+ add: "%{page_type} hinzufügen"
80
+
81
+ errors:
82
+ messages:
83
+ cannot_be_after_display_until: "cannot be after 'Display until'. Set an earlier date/time OR remove 'Display until'"
84
+ cannot_be_before_display_from: "cannot be before 'Display from'. Set a later date/time OR remove 'Display from'"
@@ -0,0 +1,81 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ humpyard:
5
+ element: "Element"
6
+ elements:
7
+ box_element: 'box element'
8
+ text_element: 'text element'
9
+ news_element: 'news element'
10
+ page: "page"
11
+ pages:
12
+ static_page: 'static page'
13
+ news_page: 'news page'
14
+ virtual_page: 'virtual page'
15
+ attributes:
16
+ humpyard:
17
+ elements:
18
+ shared_state: "Share element"
19
+ display_from: "Display from"
20
+ display_until: "Display until"
21
+ box_element:
22
+ title: "Title"
23
+ text_element:
24
+ content: "Content"
25
+ html_content: "Content (formated)"
26
+ news_element:
27
+ news_page: "News page"
28
+ media_element:
29
+ asset: "Media Asset"
30
+ float: "Float Alignment"
31
+ uri: "URI"
32
+ pages:
33
+ title: "Title"
34
+ description: "Description"
35
+ in_menu: "Display in menu"
36
+ display_from: "Display from"
37
+ display_until: "Display until"
38
+
39
+ yes: yes
40
+ no: no
41
+
42
+ humpyard:
43
+ elements:
44
+ media_elements:
45
+ edit:
46
+ uri_description: "URI only works for some mime types like images"
47
+ none: "None"
48
+ left: "Left"
49
+ right: "Right"
50
+
51
+ humpyard_cms:
52
+ start: 'Loading Humpyard %{version}'
53
+ login:
54
+ title: "Login to Humpyard"
55
+ username: "Username"
56
+ password: "Password"
57
+ submit: "Login"
58
+ login_error: "Could not login with given credentials!"
59
+ shared_state_info:
60
+ owning_page:
61
+ "0": unshared
62
+ "1": shared on all siblings
63
+ "2": shared on all children
64
+ with_title:
65
+ "0": unshared
66
+ "1": Shared from sibling '%{title}'
67
+ "2": Shared from parent '%{title}'
68
+ toolbar:
69
+ edit: "Edit Page"
70
+ pages: "Manage Pages"
71
+ assets: "Manage Medias"
72
+ logout: "Logout"
73
+ pages:
74
+ edit:
75
+ title: "Manage Pages"
76
+ add: "Add %{page_type}"
77
+
78
+ errors:
79
+ messages:
80
+ cannot_be_after_display_until: "cannot be after 'Display until'. Set an earlier date/time OR remove 'Display until'"
81
+ cannot_be_before_display_from: "cannot be before 'Display from'. Set a later date/time OR remove 'Display from'"
@@ -0,0 +1,38 @@
1
+ Rails.application.routes.draw do
2
+ # Map admin controllers
3
+
4
+ scope "/#{Humpyard::config.admin_prefix}" do
5
+ resources :humpyard_pages, :controller => 'humpyard/pages', :path => "pages", :only => [:index, :new, :create, :edit, :update, :show, :destroy] do
6
+ collection do
7
+ post :move
8
+ end
9
+ end
10
+
11
+ resources :humpyard_elements, :controller => 'humpyard/elements', :path => "elements", :only => [:new, :create, :edit, :update, :show, :destroy] do
12
+ member do
13
+ get :inline_edit
14
+ end
15
+ collection do
16
+ post :move
17
+ end
18
+ end
19
+
20
+ resources :humpyard_assets, :controller => 'humpyard/assets', :path => "assets", :only => [:index, :new, :create, :edit, :update, :show, :destroy] do
21
+
22
+ end
23
+ end
24
+
25
+ # Map "/" URL
26
+ root :to => 'humpyard/pages#show', :webpath => 'index'
27
+ # Map sitemap.xml
28
+ match "/sitemap.xml" => 'humpyard/pages#sitemap', :as => 'sitemap'
29
+ # Map human readable page URLs
30
+ if Humpyard::config.www_prefix.match /:locale/
31
+ match "/#{Humpyard::config.www_prefix}" => 'humpyard/pages#show', :webpath => 'index', :constraints => { :locale => Humpyard.config.locales_contraint }
32
+ match "/#{Humpyard::config.www_prefix}*webpath.:format" => 'humpyard/pages#show', :constraints => { :locale => Humpyard.config.locales_contraint, :format => Humpyard.config.page_formats_contraint }
33
+ match "/#{Humpyard::config.www_prefix}*path" => 'humpyard/errors#error404', :constraints => { :locale => Humpyard.config.locales_contraint }
34
+ else
35
+ match "/#{Humpyard::config.www_prefix}*webpath.:format" => 'humpyard/pages#show', :constraints => { :format => Humpyard.config.page_formats_contraint }
36
+ match "/#{Humpyard::config.www_prefix}*path" => 'humpyard/errors#error404'
37
+ end
38
+ end
@@ -0,0 +1,60 @@
1
+ class Base < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :pages do |t|
4
+ t.references :parent
5
+ t.string :name # should be i18n, searchable
6
+ t.boolean :in_menu, :default => true
7
+ t.boolean :in_sitemap, :default => true
8
+ t.boolean :searchable, :default => true
9
+ t.datetime :display_from
10
+ t.datetime :display_until
11
+ t.integer :position
12
+ t.timestamps
13
+ t.datetime :deleted_at
14
+ end
15
+
16
+ create_table :page_translations do |t|
17
+ t.references :"#{Humpyard::config.table_name_prefix}page"
18
+ t.string :locale
19
+ t.string :title
20
+ t.string :title_for_url
21
+ t.text :description
22
+ t.timestamps
23
+ end
24
+
25
+ create_table :elements do |t|
26
+ t.references :page
27
+ t.references :container
28
+ t.references :content_data
29
+ t.string :content_data_type
30
+ t.datetime :display_from
31
+ t.datetime :display_until
32
+ t.integer :position
33
+ t.timestamps
34
+ t.datetime :deleted_at
35
+ end
36
+
37
+ create_table :elements_container_elements do |t|
38
+ t.timestamps
39
+ end
40
+
41
+ create_table :elements_text_elements do |t|
42
+ t.timestamps
43
+ end
44
+
45
+ create_table :elements_text_element_translations do |t|
46
+ t.references :"#{Humpyard::config.table_name_prefix}elements_text_element"
47
+ t.string :locale
48
+ t.text :content
49
+ t.timestamps
50
+ end
51
+ end
52
+
53
+ def self.down
54
+ drop_table :elements_text_element_translations
55
+ drop_table :elements_text_element
56
+ drop_table :elements
57
+ drop_table :page_translations
58
+ drop_table :pages
59
+ end
60
+ end
@@ -0,0 +1,24 @@
1
+ class CreateBoxElement < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :elements_box_elements do |t|
4
+ t.timestamps
5
+ end
6
+
7
+ create_table :elements_box_element_translations do |t|
8
+ t.references :"#{Humpyard::config.table_name_prefix}elements_box_element"
9
+ t.string :locale
10
+ t.string :title
11
+ t.timestamps
12
+ end
13
+
14
+ drop_table :elements_container_elements
15
+ end
16
+
17
+ def self.down
18
+ drop_table :elements_box_element_translations
19
+ drop_table :elements_box_elements
20
+ create_table :elements_container_elements do |t|
21
+ t.timestamps
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ class PageTemplate < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :pages, :template_name, :string#, :default => Humpyard::config.default_template_name
4
+ Humpyard::Page.reset_column_information
5
+ end
6
+
7
+ def self.down
8
+ remove_column :pages, :template_name
9
+ Humpyard::Page.reset_column_information
10
+ end
11
+ end
@@ -0,0 +1,26 @@
1
+ class PageTypes < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :pages, :content_data_id, :integer
4
+ add_column :pages, :content_data_type, :string
5
+ Humpyard::Page.reset_column_information
6
+
7
+ create_table :pages_static_pages do |t|
8
+ t.timestamps
9
+ end
10
+
11
+ rename_column :page_translations, :"#{Humpyard::config.table_name_prefix}page_id", :page_id
12
+ Humpyard::Page.all.each do |p|
13
+ sp = Humpyard::Pages::StaticPage.new
14
+ sp.page = p
15
+ sp.save
16
+ end
17
+ rename_column :page_translations, :page_id, :"#{Humpyard::config.table_name_prefix}page_id"
18
+ end
19
+
20
+ def self.down
21
+ drop_table :pages_static_pages
22
+ remove_column :pages, :content_data_id
23
+ remove_column :pages, :content_data_type
24
+ Humpyard::Page.reset_column_information
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ class ElementYield < ActiveRecord::Migration
2
+ def self.up
3
+ change_column :pages, :template_name, :string, :default => Humpyard::config.default_template_name
4
+ Humpyard::Page.reset_column_information
5
+ add_column :elements, :page_yield_name, :string, :default => 'main'
6
+ add_index :elements, :page_yield_name
7
+ Humpyard::Element.reset_column_information
8
+ end
9
+
10
+ def self.down
11
+ remove_column :elements, :page_yield_name
12
+ Humpyard::Element.reset_column_information
13
+ end
14
+ end
@@ -0,0 +1,48 @@
1
+ class NewsPage < ActiveRecord::Migration
2
+ def self.up
3
+ #Remove old news stuff if exists
4
+ # begin
5
+ # drop_table :news_feed_translations
6
+ # rescue
7
+ # end
8
+ # begin
9
+ # drop_table :news_feeds
10
+ # rescue
11
+ # end
12
+ # begin
13
+ # drop_table :news_item_translations
14
+ # rescue
15
+ # end
16
+ # begin
17
+ # drop_table :news_items
18
+ # rescue
19
+ # end
20
+
21
+ create_table :pages_news_pages do |t|
22
+ t.timestamps
23
+ t.datetime :deleted_at
24
+ end
25
+
26
+ create_table :news_items do |t|
27
+ t.references :news_page
28
+ t.datetime :published_at
29
+ t.timestamps
30
+ t.datetime :deleted_at
31
+ end
32
+
33
+ create_table :news_item_translations do |t|
34
+ t.references :"#{Humpyard::config.table_name_prefix}news_items"
35
+ t.string :locale
36
+ t.string :title
37
+ t.string :title_for_url
38
+ t.text :description
39
+ t.timestamps
40
+ end
41
+ end
42
+
43
+ def self.down
44
+ drop_table :news_item_translations
45
+ drop_table :news_items
46
+ drop_table :pages_news_pages
47
+ end
48
+ end
@@ -0,0 +1,27 @@
1
+ class PageI18nName < ActiveRecord::Migration
2
+ def self.up
3
+ # begin
4
+ # add_column :page_translations, :title_for_url, :string
5
+ # Humpyard::Page.reset_column_information
6
+ #
7
+ # rename_column :page_translations, :"#{Humpyard::config.table_name_prefix}page_id", :page_id
8
+ # Humpyard::Page.all.each do | p |
9
+ # Humpyard::config.locales.each do | locale |
10
+ # I18n.locale = locale
11
+ # p.title_for_url = p.suggested_title_for_url
12
+ # p.save
13
+ # end
14
+ # end
15
+ # I18n.locale = Humpyard::config.locales.first
16
+ # rename_column :page_translations, :page_id, :"#{Humpyard::config.table_name_prefix}page_id"
17
+ # remove_column :pages, :name, :string
18
+ # Humpyard::Page.reset_column_information
19
+ # rescue
20
+ # end
21
+
22
+ end
23
+
24
+ def self.down
25
+
26
+ end
27
+ end
@@ -0,0 +1,12 @@
1
+ class CreateNewsElement < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :elements_news_elements do |t|
4
+ t.references :news_page
5
+ t.timestamps
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ drop_table :elements_news_elements
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ class SharedElements < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :elements, :shared_state, :integer
4
+ end
5
+
6
+ def self.down
7
+ remove_column :elements, :shared_state
8
+ end
9
+ end