deluxe_publisher 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +29 -0
  4. data/LICENSE +20 -0
  5. data/README.rdoc +127 -0
  6. data/Rakefile +61 -0
  7. data/VERSION +1 -0
  8. data/app/controllers/deluxe_publisher/comments_controller.rb +93 -0
  9. data/app/controllers/deluxe_publisher/page_types_controller.rb +115 -0
  10. data/app/controllers/deluxe_publisher/pages_controller.rb +191 -0
  11. data/app/controllers/deluxe_publisher/presenter_controller.rb +185 -0
  12. data/app/controllers/deluxe_publisher/redirects_controller.rb +90 -0
  13. data/app/controllers/deluxe_publisher/sitemap_controller.rb +10 -0
  14. data/app/helpers/application_helper.rb +2 -0
  15. data/app/helpers/deluxe_publisher/comments_helper.rb +2 -0
  16. data/app/helpers/deluxe_publisher/page_types_helper.rb +13 -0
  17. data/app/helpers/deluxe_publisher/pages_helper.rb +41 -0
  18. data/app/helpers/deluxe_publisher/presenter_helper.rb +111 -0
  19. data/app/helpers/deluxe_publisher/redirects_helper.rb +2 -0
  20. data/app/helpers/deluxe_publisher/sitemap_helper.rb +2 -0
  21. data/app/models/ckeditor/asset.rb +88 -0
  22. data/app/models/ckeditor/attachment_file.rb +40 -0
  23. data/app/models/ckeditor/picture.rb +23 -0
  24. data/app/models/deluxe_publisher/comment.rb +6 -0
  25. data/app/models/deluxe_publisher/content.rb +6 -0
  26. data/app/models/deluxe_publisher/content_descriptor.rb +4 -0
  27. data/app/models/deluxe_publisher/page.rb +206 -0
  28. data/app/models/deluxe_publisher/page_type.rb +55 -0
  29. data/app/models/deluxe_publisher/redirect.rb +6 -0
  30. data/app/models/deluxe_publisher.rb +5 -0
  31. data/app/views/deluxe_publisher/comments/_form.html.erb +31 -0
  32. data/app/views/deluxe_publisher/comments/edit.html.erb +6 -0
  33. data/app/views/deluxe_publisher/comments/index.html.erb +31 -0
  34. data/app/views/deluxe_publisher/comments/new.html.erb +6 -0
  35. data/app/views/deluxe_publisher/comments/show.html.erb +30 -0
  36. data/app/views/deluxe_publisher/page_types/_content_descriptors.html.erb +15 -0
  37. data/app/views/deluxe_publisher/page_types/_form.html.erb +59 -0
  38. data/app/views/deluxe_publisher/page_types/content_areas_change.js.erb +3 -0
  39. data/app/views/deluxe_publisher/page_types/edit.html.erb +8 -0
  40. data/app/views/deluxe_publisher/page_types/index.html.erb +29 -0
  41. data/app/views/deluxe_publisher/page_types/new.html.erb +7 -0
  42. data/app/views/deluxe_publisher/page_types/show.html.erb +45 -0
  43. data/app/views/deluxe_publisher/pages/_form.html.erb +39 -0
  44. data/app/views/deluxe_publisher/pages/_general.html.erb +108 -0
  45. data/app/views/deluxe_publisher/pages/_page.html.erb +23 -0
  46. data/app/views/deluxe_publisher/pages/_page_content.html.erb +16 -0
  47. data/app/views/deluxe_publisher/pages/_page_links.html.erb +9 -0
  48. data/app/views/deluxe_publisher/pages/_seo.html.erb +27 -0
  49. data/app/views/deluxe_publisher/pages/edit.html.erb +5 -0
  50. data/app/views/deluxe_publisher/pages/index.html.erb +11 -0
  51. data/app/views/deluxe_publisher/pages/new.html.erb +6 -0
  52. data/app/views/deluxe_publisher/pages/page_type_change.js.erb +3 -0
  53. data/app/views/deluxe_publisher/pages/show.html.erb +115 -0
  54. data/app/views/deluxe_publisher/presenter/create_comment.js.erb +3 -0
  55. data/app/views/deluxe_publisher/presenter/create_comment_failed.js.erb +1 -0
  56. data/app/views/deluxe_publisher/presenter/new_comment.js.erb +7 -0
  57. data/app/views/deluxe_publisher/presenter/preview.html.erb +2 -0
  58. data/app/views/deluxe_publisher/redirects/_form.html.erb +29 -0
  59. data/app/views/deluxe_publisher/redirects/edit.html.erb +6 -0
  60. data/app/views/deluxe_publisher/redirects/index.html.erb +27 -0
  61. data/app/views/deluxe_publisher/redirects/new.html.erb +5 -0
  62. data/app/views/deluxe_publisher/redirects/show.html.erb +20 -0
  63. data/app/views/deluxe_publisher/sitemap/index.xml.builder +12 -0
  64. data/app/views/deluxe_publisher/templates/simple_blog.html.erb +19 -0
  65. data/app/views/deluxe_publisher/templates/simple_blog.rss.builder +23 -0
  66. data/app/views/deluxe_publisher/templates/simple_blog_story.html.erb +9 -0
  67. data/app/views/deluxe_publisher/templates/simple_page.html.erb +4 -0
  68. data/app/views/layouts/_deluxe_publisher_comment_form.html.erb +29 -0
  69. data/app/views/layouts/_deluxe_publisher_comments_list.html.erb +8 -0
  70. data/app/views/layouts/application.html.erb +14 -0
  71. data/app/views/layouts/deluxe_publisher.html.erb +36 -0
  72. data/app/views/layouts/deluxe_publisher_blog.html.erb +63 -0
  73. data/app/views/layouts/deluxe_publisher_simple.html.erb +30 -0
  74. data/config/routes.rb +49 -0
  75. data/deluxe_publisher.gemspec +466 -0
  76. data/lib/deluxe_publisher/deluxe_publisher_authentication.rb +37 -0
  77. data/lib/deluxe_publisher/engine.rb +5 -0
  78. data/lib/deluxe_publisher.rb +40 -0
  79. data/lib/generators/deluxe_publisher/base/USAGE +8 -0
  80. data/lib/generators/deluxe_publisher/base/base_generator.rb +45 -0
  81. data/lib/generators/deluxe_publisher/base/templates/images/add.png +0 -0
  82. data/lib/generators/deluxe_publisher/base/templates/images/btn_addNewPage.gif +0 -0
  83. data/lib/generators/deluxe_publisher/base/templates/images/btn_cancel.gif +0 -0
  84. data/lib/generators/deluxe_publisher/base/templates/images/btn_preview.gif +0 -0
  85. data/lib/generators/deluxe_publisher/base/templates/images/btn_save.gif +0 -0
  86. data/lib/generators/deluxe_publisher/base/templates/images/bullet.gif +0 -0
  87. data/lib/generators/deluxe_publisher/base/templates/images/content_bg.jpg +0 -0
  88. data/lib/generators/deluxe_publisher/base/templates/images/delete.png +0 -0
  89. data/lib/generators/deluxe_publisher/base/templates/images/edit.png +0 -0
  90. data/lib/generators/deluxe_publisher/base/templates/images/header_background.jpg +0 -0
  91. data/lib/generators/deluxe_publisher/base/templates/images/icon_published.gif +0 -0
  92. data/lib/generators/deluxe_publisher/base/templates/images/icon_unpublished.gif +0 -0
  93. data/lib/generators/deluxe_publisher/base/templates/images/logo.gif +0 -0
  94. data/lib/generators/deluxe_publisher/base/templates/images/minus.gif +0 -0
  95. data/lib/generators/deluxe_publisher/base/templates/images/plus.gif +0 -0
  96. data/lib/generators/deluxe_publisher/base/templates/images/show.png +0 -0
  97. data/lib/generators/deluxe_publisher/base/templates/images/tab_bg.gif +0 -0
  98. data/lib/generators/deluxe_publisher/base/templates/images/tabs_bg.jpg +0 -0
  99. data/lib/generators/deluxe_publisher/base/templates/initializer.rb +23 -0
  100. data/lib/generators/deluxe_publisher/base/templates/javascripts/deluxe_presenter.js +25 -0
  101. data/lib/generators/deluxe_publisher/base/templates/javascripts/deluxe_publisher.js +86 -0
  102. data/lib/generators/deluxe_publisher/base/templates/javascripts/jquery-rails.js +158 -0
  103. data/lib/generators/deluxe_publisher/base/templates/layouts/_deluxe_publisher_comment_form.html.erb +29 -0
  104. data/lib/generators/deluxe_publisher/base/templates/layouts/_deluxe_publisher_comments_list.html.erb +8 -0
  105. data/lib/generators/deluxe_publisher/base/templates/layouts/deluxe_publisher_blog.html.erb +74 -0
  106. data/lib/generators/deluxe_publisher/base/templates/layouts/deluxe_publisher_simple.html.erb +47 -0
  107. data/lib/generators/deluxe_publisher/base/templates/stylesheets/deluxe_presenter.css +458 -0
  108. data/lib/generators/deluxe_publisher/base/templates/stylesheets/deluxe_publisher.css +202 -0
  109. data/lib/generators/deluxe_publisher/base/templates/templates/simple_blog.html.erb +19 -0
  110. data/lib/generators/deluxe_publisher/base/templates/templates/simple_blog.rss.builder +23 -0
  111. data/lib/generators/deluxe_publisher/base/templates/templates/simple_blog_story.html.erb +12 -0
  112. data/lib/generators/deluxe_publisher/base/templates/templates/simple_page.html.erb +4 -0
  113. data/lib/generators/deluxe_publisher/migration/USAGE +0 -0
  114. data/lib/generators/deluxe_publisher/migration/migration_generator.rb +18 -0
  115. data/lib/generators/deluxe_publisher/migration/templates/migration.rb +98 -0
  116. data/lib/generators/deluxe_publisher/sample_site/sample_site_generator.rb +316 -0
  117. data/spec/controllers/deluxe_publisher/comments_controller_spec.rb +129 -0
  118. data/spec/controllers/deluxe_publisher/page_types_controller_spec.rb +125 -0
  119. data/spec/controllers/deluxe_publisher/pages_controller_spec.rb +129 -0
  120. data/spec/controllers/deluxe_publisher/presenter_controller_spec.rb +19 -0
  121. data/spec/controllers/deluxe_publisher/redirects_controller_spec.rb +118 -0
  122. data/spec/deluxe_publisher_spec.rb +7 -0
  123. data/spec/dummy/Rakefile +7 -0
  124. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  125. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  126. data/spec/dummy/app/views/deluxe_publisher/comments/_form.html.erb +31 -0
  127. data/spec/dummy/app/views/deluxe_publisher/comments/edit.html.erb +6 -0
  128. data/spec/dummy/app/views/deluxe_publisher/comments/index.html.erb +31 -0
  129. data/spec/dummy/app/views/deluxe_publisher/comments/new.html.erb +6 -0
  130. data/spec/dummy/app/views/deluxe_publisher/comments/show.html.erb +30 -0
  131. data/spec/dummy/app/views/deluxe_publisher/page_types/_content_descriptors.html.erb +15 -0
  132. data/spec/dummy/app/views/deluxe_publisher/page_types/_form.html.erb +59 -0
  133. data/spec/dummy/app/views/deluxe_publisher/page_types/content_areas_change.js.erb +3 -0
  134. data/spec/dummy/app/views/deluxe_publisher/page_types/edit.html.erb +8 -0
  135. data/spec/dummy/app/views/deluxe_publisher/page_types/index.html.erb +29 -0
  136. data/spec/dummy/app/views/deluxe_publisher/page_types/new.html.erb +7 -0
  137. data/spec/dummy/app/views/deluxe_publisher/page_types/show.html.erb +45 -0
  138. data/spec/dummy/app/views/deluxe_publisher/pages/_form.html.erb +36 -0
  139. data/spec/dummy/app/views/deluxe_publisher/pages/_general.html.erb +108 -0
  140. data/spec/dummy/app/views/deluxe_publisher/pages/_page.html.erb +23 -0
  141. data/spec/dummy/app/views/deluxe_publisher/pages/_page_content.html.erb +16 -0
  142. data/spec/dummy/app/views/deluxe_publisher/pages/_page_links.html.erb +9 -0
  143. data/spec/dummy/app/views/deluxe_publisher/pages/_seo.html.erb +27 -0
  144. data/spec/dummy/app/views/deluxe_publisher/pages/edit.html.erb +7 -0
  145. data/spec/dummy/app/views/deluxe_publisher/pages/index.html.erb +10 -0
  146. data/spec/dummy/app/views/deluxe_publisher/pages/new.html.erb +7 -0
  147. data/spec/dummy/app/views/deluxe_publisher/pages/page_type_change.js.erb +3 -0
  148. data/spec/dummy/app/views/deluxe_publisher/pages/show.html.erb +115 -0
  149. data/spec/dummy/app/views/deluxe_publisher/presenter/create_comment.js.erb +3 -0
  150. data/spec/dummy/app/views/deluxe_publisher/presenter/create_comment_failed.js.erb +1 -0
  151. data/spec/dummy/app/views/deluxe_publisher/presenter/new_comment.js.erb +7 -0
  152. data/spec/dummy/app/views/deluxe_publisher/presenter/preview.html.erb +2 -0
  153. data/spec/dummy/app/views/deluxe_publisher/templates/simple_blog.html.erb +19 -0
  154. data/spec/dummy/app/views/deluxe_publisher/templates/simple_blog.rss.builder +23 -0
  155. data/spec/dummy/app/views/deluxe_publisher/templates/simple_blog_story.html.erb +9 -0
  156. data/spec/dummy/app/views/deluxe_publisher/templates/simple_page.html.erb +4 -0
  157. data/spec/dummy/app/views/layouts/_deluxe_publisher_comment_form.html.erb +29 -0
  158. data/spec/dummy/app/views/layouts/_deluxe_publisher_comments_list.html.erb +8 -0
  159. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  160. data/spec/dummy/app/views/layouts/deluxe_publisher.html.erb +31 -0
  161. data/spec/dummy/app/views/layouts/deluxe_publisher_blog.html.erb +63 -0
  162. data/spec/dummy/app/views/layouts/deluxe_publisher_simple.html.erb +30 -0
  163. data/spec/dummy/config/application.rb +45 -0
  164. data/spec/dummy/config/boot.rb +10 -0
  165. data/spec/dummy/config/database.yml +22 -0
  166. data/spec/dummy/config/environment.rb +5 -0
  167. data/spec/dummy/config/environments/development.rb +26 -0
  168. data/spec/dummy/config/environments/production.rb +49 -0
  169. data/spec/dummy/config/environments/test.rb +35 -0
  170. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  171. data/spec/dummy/config/initializers/deluxe_publisher.rb +23 -0
  172. data/spec/dummy/config/initializers/inflections.rb +10 -0
  173. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  174. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  175. data/spec/dummy/config/initializers/session_store.rb +8 -0
  176. data/spec/dummy/config/locales/en.yml +5 -0
  177. data/spec/dummy/config/routes.rb +104 -0
  178. data/spec/dummy/config.ru +4 -0
  179. data/spec/dummy/db/migrate/20110405190943_create_deluxe_publisher.rb +135 -0
  180. data/spec/dummy/db/schema.rb +130 -0
  181. data/spec/dummy/public/404.html +26 -0
  182. data/spec/dummy/public/422.html +26 -0
  183. data/spec/dummy/public/500.html +26 -0
  184. data/spec/dummy/public/favicon.ico +0 -0
  185. data/spec/dummy/public/javascripts/application.js +2 -0
  186. data/spec/dummy/public/javascripts/controls.js +965 -0
  187. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  188. data/spec/dummy/public/javascripts/effects.js +1123 -0
  189. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  190. data/spec/dummy/public/javascripts/rails.js +191 -0
  191. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  192. data/spec/dummy/script/rails +6 -0
  193. data/spec/factories/comment_factory.rb +4 -0
  194. data/spec/factories/content_descriptor_factory.rb +5 -0
  195. data/spec/factories/content_factory.rb +24 -0
  196. data/spec/factories/page_factory.rb +26 -0
  197. data/spec/factories/page_type_factory.rb +10 -0
  198. data/spec/factories/redirect_factory.rb +4 -0
  199. data/spec/helpers/deluxe_publisher/comments_helper_spec.rb +15 -0
  200. data/spec/helpers/deluxe_publisher/page_types_helper_spec.rb +26 -0
  201. data/spec/helpers/deluxe_publisher/pages_helper_spec.rb +65 -0
  202. data/spec/helpers/deluxe_publisher/presenter_helper_spec.rb +19 -0
  203. data/spec/helpers/deluxe_publisher/redirects_helper_spec.rb +15 -0
  204. data/spec/integration/navigation_spec.rb +9 -0
  205. data/spec/models/deluxe_publisher/comment_spec.rb +5 -0
  206. data/spec/models/deluxe_publisher/content_descriptor_spec.rb +5 -0
  207. data/spec/models/deluxe_publisher/content_spec.rb +5 -0
  208. data/spec/models/deluxe_publisher/page_spec.rb +358 -0
  209. data/spec/models/deluxe_publisher/page_type_spec.rb +62 -0
  210. data/spec/models/deluxe_publisher/redirect_spec.rb +17 -0
  211. data/spec/requests/deluxe_publisher/deluxe_publisher_comments_spec.rb +11 -0
  212. data/spec/requests/deluxe_publisher/deluxe_publisher_page_types_spec.rb +11 -0
  213. data/spec/requests/deluxe_publisher/deluxe_publisher_redirects_spec.rb +11 -0
  214. data/spec/requests/deluxe_publisher/pages_spec.rb +11 -0
  215. data/spec/routing/deluxe_publisher/comments_routing_spec.rb +35 -0
  216. data/spec/routing/deluxe_publisher/page_types_routing_spec.rb +47 -0
  217. data/spec/routing/deluxe_publisher/pages_routing_spec.rb +47 -0
  218. data/spec/routing/deluxe_publisher/presenter_routing_spec.rb +66 -0
  219. data/spec/routing/deluxe_publisher/redirects_routing_spec.rb +35 -0
  220. data/spec/spec_helper.rb +234 -0
  221. data/spec/views/deluxe_publisher/comments/edit.html.erb_spec.rb +24 -0
  222. data/spec/views/deluxe_publisher/comments/index.html.erb_spec.rb +32 -0
  223. data/spec/views/deluxe_publisher/comments/new.html.erb_spec.rb +24 -0
  224. data/spec/views/deluxe_publisher/comments/show.html.erb_spec.rb +24 -0
  225. data/spec/views/deluxe_publisher/page_types/edit.html.erb_spec.rb +32 -0
  226. data/spec/views/deluxe_publisher/page_types/index.html.erb_spec.rb +48 -0
  227. data/spec/views/deluxe_publisher/page_types/new.html.erb_spec.rb +32 -0
  228. data/spec/views/deluxe_publisher/page_types/show.html.erb_spec.rb +36 -0
  229. data/spec/views/deluxe_publisher/pages/edit.html.erb_spec.rb +58 -0
  230. data/spec/views/deluxe_publisher/pages/index.html.erb_spec.rb +100 -0
  231. data/spec/views/deluxe_publisher/pages/new.html.erb_spec.rb +81 -0
  232. data/spec/views/deluxe_publisher/pages/show.html.erb_spec.rb +75 -0
  233. data/spec/views/deluxe_publisher/presenter/present.html.erb_spec.rb +5 -0
  234. data/spec/views/deluxe_publisher/presenter/preview.html.erb_spec.rb +5 -0
  235. data/spec/views/deluxe_publisher/redirects/edit.html.erb_spec.rb +22 -0
  236. data/spec/views/deluxe_publisher/redirects/index.html.erb_spec.rb +28 -0
  237. data/spec/views/deluxe_publisher/redirects/new.html.erb_spec.rb +22 -0
  238. data/spec/views/deluxe_publisher/redirects/show.html.erb_spec.rb +21 -0
  239. metadata +1006 -0
File without changes
@@ -0,0 +1,18 @@
1
+ module DeluxePublisher
2
+ class MigrationGenerator < Rails::Generators::Base
3
+ include Rails::Generators::Migration
4
+
5
+ desc "Generates migration for Deluxe Publisher Models"
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def self.next_migration_number(dirname)
10
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
11
+ end
12
+
13
+ def create_migration_file
14
+ migration_template 'migration.rb', 'db/migrate/create_deluxe_publisher_tables.rb'
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,98 @@
1
+ class CreateDeluxePublisherTables < ActiveRecord::Migration
2
+ def self.up
3
+
4
+ create_table "deluxe_publisher_comments", :force => true do |t|
5
+ t.integer "page_id"
6
+ t.string "author"
7
+ t.text "body", :limit => 255
8
+ t.string "status"
9
+ t.datetime "posted_at"
10
+ t.datetime "created_at"
11
+ t.datetime "updated_at"
12
+ end
13
+
14
+ create_table "deluxe_publisher_content_descriptors", :force => true do |t|
15
+ t.integer "page_type_id"
16
+ t.integer "position"
17
+ t.string "title"
18
+ t.string "content_type", :default => "text"
19
+ t.datetime "created_at"
20
+ t.datetime "updated_at"
21
+ end
22
+
23
+ create_table "deluxe_publisher_contents", :force => true do |t|
24
+ t.integer "page_id"
25
+ t.text "html"
26
+ t.integer "position"
27
+ t.datetime "created_at"
28
+ t.datetime "updated_at"
29
+ end
30
+
31
+ create_table "deluxe_publisher_page_types", :force => true do |t|
32
+ t.integer "site_id", :default => 1
33
+ t.string "name"
34
+ t.text "description"
35
+ t.boolean "is_published", :default => true
36
+ t.integer "position", :default => 0
37
+ t.string "function_as", :default => "web_page"
38
+ t.integer "number_of_content_areas", :default => 1
39
+ t.string "template"
40
+ t.string "layout"
41
+ t.datetime "created_at"
42
+ t.datetime "updated_at"
43
+ end
44
+
45
+ create_table "deluxe_publisher_pages", :force => true do |t|
46
+ t.integer "site_id", :default => 1
47
+ t.integer "parent_id"
48
+ t.integer "lft"
49
+ t.integer "rgt"
50
+ t.integer "alias_page_id"
51
+ t.integer "page_type_id"
52
+ t.integer "position", :default => 0
53
+ t.integer "footer_position", :default => 0
54
+ t.string "browser_title"
55
+ t.string "page_title"
56
+ t.string "menu_title"
57
+ t.string "file_name"
58
+ t.string "path"
59
+ t.boolean "is_shown_in_main_navigation", :default => false
60
+ t.boolean "is_shown_in_secondary_navigation", :default => false
61
+ t.boolean "is_published", :default => false
62
+ t.boolean "is_landing_page", :default => false
63
+ t.datetime "publish_at"
64
+ t.boolean "is_navigation_locked", :default => false
65
+ t.boolean "is_content_locked", :default => false
66
+ t.text "meta_keywords"
67
+ t.text "meta_description"
68
+ t.boolean "is_included_in_sitemap", :default => true
69
+ t.float "sitemap_priority", :default => 0.5
70
+ t.string "sitemap_change_freq", :default => "monthly"
71
+ t.datetime "created_at"
72
+ t.datetime "updated_at"
73
+ t.boolean "allow_comments", :default => false
74
+ end
75
+
76
+ create_table :deluxe_publisher_redirects do |t|
77
+ t.string :incoming_url
78
+ t.string :direct_to_url
79
+ t.text :description
80
+
81
+ t.timestamps
82
+ end
83
+
84
+
85
+ end
86
+
87
+ def self.down
88
+
89
+ drop_table "deluxe_publisher_comments"
90
+ drop_table "deluxe_publisher_content_descriptors"
91
+ drop_table "deluxe_publisher_contents"
92
+ drop_table "deluxe_publisher_page_types"
93
+ drop_table "deluxe_publisher_pages"
94
+ drop_table "deluxe_publisher_redirects"
95
+
96
+
97
+ end
98
+ end
@@ -0,0 +1,316 @@
1
+ module DeluxePublisher
2
+ class SampleSiteGenerator < Rails::Generators::Base
3
+
4
+ def create_page_types
5
+ @simple_page_type = DeluxePublisher::PageType.create({"name"=>"Simple",
6
+ "position"=>"1",
7
+ "layout"=>"deluxe_publisher_simple",
8
+ "content_descriptors_attributes"=>{
9
+ "0"=>{
10
+ "position"=>"0",
11
+ "title"=>"Content",
12
+ "content_type"=>"text"
13
+ }
14
+ },
15
+ "is_published"=>true,
16
+ "function_as"=>"web_page",
17
+ "template"=>"simple_page",
18
+ "number_of_content_areas"=>"1",
19
+ "description"=>""})
20
+
21
+ @blog_page_type = DeluxePublisher::PageType.create({"name"=>"Simple Blog",
22
+ "position"=>"10",
23
+ "layout"=>"deluxe_publisher_blog",
24
+ "content_descriptors_attributes"=>{
25
+ "0"=>{
26
+ "position"=>"0",
27
+ "title"=>"Blog Overview",
28
+ "content_type"=>"text"
29
+ }
30
+ },
31
+ "is_published"=>true,
32
+ "function_as"=>"blog_page",
33
+ "template"=>"simple_blog",
34
+ "number_of_content_areas"=>"1",
35
+ "description"=>""})
36
+
37
+ @story_page_type = DeluxePublisher::PageType.create({"name"=>"Blog Story",
38
+ "position"=>"20",
39
+ "layout"=>"deluxe_publisher_blog",
40
+ "content_descriptors_attributes"=>{
41
+ "0"=>{
42
+ "position"=>"0",
43
+ "title"=>"Teaser",
44
+ "content_type"=>"text"
45
+ },
46
+ "1"=>{"position"=>"1",
47
+ "title"=>"Content",
48
+ "content_type"=>"text"
49
+ }
50
+ },
51
+ "is_published"=>true,
52
+ "function_as"=>"blog_story",
53
+ "template"=>"simple_blog_story",
54
+ "number_of_content_areas"=>"2",
55
+ "description"=>""})
56
+
57
+ end
58
+
59
+ def create_pages
60
+ site_root = DeluxePublisher::Page.get_site_root(1)
61
+
62
+ DeluxePublisher::Page.create({"position"=>"10",
63
+ "page_title"=>"Lorem Ipsum",
64
+ "menu_title"=>"Lorem Ipsum",
65
+ "publish_at"=> "2011-06-01 20:22",
66
+ "is_shown_in_main_navigation"=>true,
67
+ "footer_position"=>"5",
68
+ "is_shown_in_secondary_navigation"=>true,
69
+ "file_name"=>"what is-lorem-ipsum",
70
+ "browser_title"=>"What is Lorem Ipsum?",
71
+ "is_published"=>true,
72
+ "meta_keywords"=>"",
73
+ "meta_description"=>"",
74
+ "parent_id"=> site_root.id,
75
+ "page_type"=>@simple_page_type,
76
+ "is_included_in_sitemap"=>true,
77
+ "sitemap_priority"=>"0.5",
78
+ "contents_attributes"=>{
79
+ "0"=>{"html"=>"<h2>\r\n\tWhat Is Lorem Ipsum?</h2>\r\n<p>\r\n\t<strong>Lorem Ipsum</strong>&nbsp;is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>\r\n",
80
+ "position"=>"0",
81
+ }
82
+ },
83
+ "sitemap_change_freq"=>"monthly"})
84
+
85
+
86
+
87
+ DeluxePublisher::Page.create({"position"=>"20",
88
+ "page_title"=>"Lorem Ipsum: Where does it come from?",
89
+ "menu_title"=>"Where does it come from?",
90
+ "publish_at"=> "2011-06-02 19:51",
91
+ "is_shown_in_main_navigation"=>true,
92
+ "footer_position"=>"0",
93
+ "is_shown_in_secondary_navigation"=>false,
94
+ "file_name"=>"where-does-it-come-from",
95
+ "browser_title"=>"Where does it come from?",
96
+ "is_published"=>true,
97
+ "meta_keywords"=>"",
98
+ "meta_description"=>"",
99
+ "parent_id"=> site_root.id,
100
+ "page_type"=>@simple_page_type,
101
+ "is_included_in_sitemap"=>true,
102
+ "sitemap_priority"=>"0.5",
103
+ "contents_attributes"=>{
104
+ "0"=>{"html"=>"<h2>\r\n\tWhere does it come from?</h2>\r\n<p>\r\n\tContrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.</p>\r\n",
105
+ "position"=>"0"}
106
+ },
107
+ "sitemap_change_freq"=>"monthly"})
108
+
109
+
110
+ DeluxePublisher::Page.create({"position"=>"30",
111
+ "page_title"=>"Lorem Ipsum: Why do we use it?",
112
+ "menu_title"=>"Why do we use it?",
113
+ "publish_at" => "2011-06-07 22:05",
114
+ "is_shown_in_main_navigation"=>true,
115
+ "footer_position"=>"0",
116
+ "is_shown_in_secondary_navigation"=>false,
117
+ "file_name"=>"why-do-we-use-it",
118
+ "browser_title"=>"Why do we use it?",
119
+ "is_published"=>true,
120
+ "meta_keywords"=>"",
121
+ "meta_description"=>"",
122
+ "parent_id"=> site_root.id,
123
+ "page_type"=>@simple_page_type,
124
+ "is_included_in_sitemap"=>true,
125
+ "sitemap_priority"=>"0.5",
126
+ "contents_attributes"=>{
127
+ "0"=>{
128
+ "html"=>"<h2>\r\n\tWhy do we use it?</h2>\r\n<p>\r\n\tIt is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using &#39;Content here, content here&#39;, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for &#39;lorem ipsum&#39; will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p>\r\n",
129
+ "position"=>"0"
130
+ }
131
+ },
132
+ "sitemap_change_freq"=>"monthly"})
133
+
134
+ where = DeluxePublisher::Page.create({"position"=>"40",
135
+ "page_title"=>"Lorem Ipsum: Where can I get some?",
136
+ "menu_title"=>"Where can I get some?",
137
+ "publish_at"=> "2011-06-07 22:08",
138
+ "is_shown_in_main_navigation"=>true,
139
+ "footer_position"=>"0",
140
+ "is_shown_in_secondary_navigation"=>false,
141
+ "file_name"=>"where-can-I-get-some",
142
+ "browser_title"=>"Where can I get some?",
143
+ "is_published"=>true,
144
+ "meta_keywords"=>"",
145
+ "meta_description"=>"",
146
+ "parent_id"=> site_root.id,
147
+ "page_type"=> @simple_page_type,
148
+ "is_included_in_sitemap"=>true,
149
+ "sitemap_priority"=>"0.5",
150
+ "contents_attributes"=>{
151
+ "0"=>{
152
+ "html"=>"<h2>\r\n\tWhere can I get some?</h2>\r\n<p>\r\n\tThere are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#39;t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#39;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>\r\n",
153
+ "position"=>"0"
154
+ }
155
+ },
156
+ "sitemap_change_freq"=>"monthly"})
157
+
158
+ DeluxePublisher::Page.create({"position"=>"10",
159
+ "page_title"=>"Example One",
160
+ "menu_title"=>"Example 1",
161
+ "publish_at"=> "2011-05-08 19:20",
162
+ "is_shown_in_main_navigation"=>true,
163
+ "footer_position"=>"10",
164
+ "is_shown_in_secondary_navigation"=>true,
165
+ "file_name"=>"example-one",
166
+ "browser_title"=>"Example One",
167
+ "is_published"=>true,
168
+ "meta_keywords"=>"",
169
+ "meta_description"=>"",
170
+ "parent_id"=> where.id,
171
+ "page_type"=>@simple_page_type,
172
+ "is_included_in_sitemap"=>true,
173
+ "sitemap_priority"=>"0.5",
174
+ "contents_attributes"=>{
175
+ "0"=>{
176
+ "html"=>"<p>\r\n\t&nbsp;</p>\r\n<meta charset=\"utf-8\" />\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam est elit, lobortis ut commodo vitae, pharetra a ante. Nulla in nisi quis justo suscipit dapibus a a risus. Quisque tempor justo et quam pulvinar a imperdiet odio mollis. Pellentesque nisi nulla, pretium quis lobortis sed, auctor sed velit. Aenean venenatis pretium consectetur. Suspendisse vulputate blandit ipsum, ut sollicitudin leo accumsan tincidunt. Nullam non imperdiet tellus. Cras porttitor dapibus nisl, a vestibulum lacus malesuada a. Donec eleifend, lorem ut vestibulum imperdiet, dui sapien tristique lectus, vel dictum sem leo luctus lacus. Pellentesque id orci velit, et dictum mauris. Etiam quam ante, vestibulum nec tristique eu, pharetra sit amet magna. Aliquam pharetra ultricies nunc eget ornare. Sed tempus, eros tempor porttitor varius, lorem odio viverra est, nec ultrices diam arcu non eros. Curabitur blandit auctor nisl, eu congue risus posuere eu.</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tAliquam erat volutpat. Phasellus lacinia arcu a magna ultricies imperdiet luctus tellus fermentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lacinia nisi at nulla fringilla vel pharetra risus aliquet. Vestibulum rutrum nisi massa, in sodales justo. Nunc quis odio a elit facilisis tempor. Sed interdum pulvinar metus id congue. Donec nisi nibh, vehicula ac pretium et, hendrerit id lacus. Phasellus ultrices diam ut lorem pulvinar venenatis. Nam ornare dignissim magna, in hendrerit lectus fringilla quis. Ut adipiscing imperdiet sagittis. Phasellus ac dui eget massa faucibus dictum. Vivamus vitae quam turpis. Nunc in pharetra nunc. Donec porta lobortis nibh, sit amet ultricies lectus euismod in. Nullam non lacus at sapien tempor convallis id eu turpis. Sed adipiscing nibh ut velit tincidunt sodales.</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tMaecenas sed nisi purus. Morbi lectus lectus, porttitor eu pellentesque nec, porta at ipsum. Praesent bibendum tortor nec nunc rutrum id molestie ante semper. Nullam vel lobortis ligula. Mauris et lacus id erat pulvinar bibendum vel a lectus. Vestibulum quam libero, rutrum id pharetra sit amet, tristique vitae dolor. Vivamus egestas lacinia feugiat. Aenean placerat, diam vel pellentesque rhoncus, mauris purus venenatis enim, ut lobortis est purus ac turpis. Maecenas in eleifend eros. Morbi in massa mauris. Nullam et felis risus. Ut congue nulla eu tellus tincidunt quis feugiat dolor lacinia. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum tristique lectus ullamcorper lacus dapibus vitae mattis risus sodales. Donec nibh elit, mollis ut semper quis, faucibus at nisl. Curabitur vitae risus turpis. Aenean aliquam metus eu elit tempor iaculis. Phasellus adipiscing arcu hendrerit metus condimentum vel ullamcorper justo viverra.</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tQuisque facilisis adipiscing urna, at tempus metus pulvinar in. Sed suscipit, felis ac iaculis rutrum, turpis neque dapibus justo, sit amet rutrum massa sem et felis. Curabitur venenatis tellus eu libero consequat eget tincidunt dolor consequat. Nullam at felis eget elit mattis consectetur vitae sit amet magna. Cras posuere massa eu tellus consequat posuere. Etiam augue sem, cursus vel egestas ut, dictum non quam. Nulla facilisi. Curabitur ac turpis odio. Fusce ut risus id eros congue pulvinar eu quis dui. Integer sagittis, urna blandit dignissim imperdiet, odio turpis auctor neque, sit amet eleifend purus dui sed nulla. Donec urna augue, rhoncus in ornare in, dictum sit amet libero. Nulla aliquet vulputate mollis. Aenean aliquam ornare quam, sit amet lobortis ante cursus sed.</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tCras nulla lorem, suscipit et scelerisque vel, rhoncus at nunc. Maecenas sollicitudin cursus augue, ut molestie sapien mollis id. Praesent euismod velit sed mi ullamcorper sed scelerisque ante tempor. Vivamus magna leo, sodales eu varius sed, sodales sit amet nisi. Nam arcu augue, imperdiet rutrum eleifend ut, faucibus at dolor. Etiam ut ligula risus. In eu orci quis sem porttitor tempus. Morbi ac ligula erat, eu porttitor sapien. Sed varius lacinia erat ac sagittis. Quisque sagittis mauris at urna feugiat vestibulum. Suspendisse justo neque, tincidunt id lobortis id, aliquet ut turpis. Duis in eros orci, ut sagittis quam. Suspendisse varius, orci non suscipit vulputate, dui nunc feugiat lorem, eu cursus magna enim id quam. In vitae lorem id magna dictum faucibus at eu velit. Quisque congue dictum magna non blandit. Curabitur consectetur dapibus erat, vel vehicula felis faucibus in.</p>\r\n",
177
+ "position"=>"0"
178
+ }
179
+ },
180
+ "sitemap_change_freq"=>"monthly"})
181
+
182
+ DeluxePublisher::Page.create({"position"=>"20",
183
+ "page_title"=>"Example Two",
184
+ "menu_title"=>"Example 2",
185
+ "publish_at"=> "2011-06-08 19:05",
186
+ "is_shown_in_main_navigation"=>true,
187
+ "footer_position"=>"20",
188
+ "is_shown_in_secondary_navigation"=>true,
189
+ "file_name"=>"example-two",
190
+ "browser_title"=>"Example Two",
191
+ "is_published"=>true,
192
+ "meta_keywords"=>"",
193
+ "meta_description"=>"",
194
+ "parent_id"=> where.id,
195
+ "page_type"=>@simple_page_type,
196
+ "is_included_in_sitemap"=>true,
197
+ "sitemap_priority"=>"0.5",
198
+ "contents_attributes"=>{
199
+ "0"=>{
200
+ "html"=>"<p>\r\n\t&nbsp;</p>\r\n<meta charset=\"utf-8\" />\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec nisi vel odio lacinia molestie. Integer sagittis fringilla libero, sed gravida nulla vulputate eu. Mauris risus ipsum, commodo ac gravida feugiat, varius ut ante. Mauris vestibulum, tellus eu mattis mattis, metus orci scelerisque lacus, sit amet hendrerit dui justo et elit. Etiam sed magna et enim consectetur condimentum in quis lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus feugiat accumsan urna at consequat. Nunc lacinia aliquet eros, in sagittis turpis posuere nec. Proin elementum gravida enim, vitae adipiscing sem pretium aliquet. Duis egestas porttitor turpis, id tristique ligula egestas quis. Aenean vitae aliquam enim.</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tPraesent tincidunt molestie nisi ut viverra. Cras fermentum diam in libero elementum imperdiet. Fusce vulputate bibendum enim, id iaculis tortor laoreet in. In diam dolor, dictum nec egestas eu, hendrerit ac magna. Donec at purus vitae neque blandit accumsan ac non velit. Sed eget libero risus. Nulla facilisi. Morbi dictum fringilla malesuada. Nullam lorem lacus, bibendum nec luctus quis, fringilla id neque. Proin commodo, nibh eu ultrices dignissim, nisl ipsum dignissim metus, id convallis libero purus ut quam. Nam luctus interdum justo, ac ornare elit interdum id. Sed eu magna lorem, vel iaculis quam. In porttitor dignissim ante, sed fermentum felis lacinia ac. Morbi tincidunt, enim sed porta condimentum, lectus augue convallis risus, quis sollicitudin felis lorem in ligula. Maecenas consequat, tellus quis lobortis euismod, lectus dui pharetra erat, non tincidunt elit turpis non turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tProin augue magna, tincidunt sed commodo at, suscipit sed augue. In nec nisl vitae nisi vestibulum congue. In feugiat est in purus ultricies ut fermentum diam tincidunt. Sed iaculis fermentum mauris sit amet aliquet. Duis sollicitudin faucibus diam, eu auctor orci consequat eget. Praesent et nibh eget urna aliquet ornare. Integer viverra dapibus libero bibendum adipiscing. Etiam eu fringilla erat. Donec eu augue nulla. Praesent arcu velit, mattis nec pulvinar at, egestas non risus. Curabitur eros orci, vestibulum vel laoreet quis, aliquam ut nisi. Cras vitae lacus quis libero fringilla volutpat. Nam at libero sit amet nunc semper pellentesque. Aenean mollis interdum tellus, quis mattis sem ornare ut.</p>\r\n",
201
+ "position"=>"0"
202
+ }
203
+ },
204
+ "sitemap_change_freq"=>"monthly"})
205
+
206
+ blog = DeluxePublisher::Page.create({"position"=>"50",
207
+ "page_title"=>"Blog",
208
+ "menu_title"=>"Blog",
209
+ "publish_at"=> "2011-06-07 22:19",
210
+ "is_shown_in_main_navigation"=>true,
211
+ "footer_position"=>"0",
212
+ "is_shown_in_secondary_navigation"=>false,
213
+ "file_name"=>"blog",
214
+ "browser_title"=>"Blog",
215
+ "is_published"=>true,
216
+ "meta_keywords"=>"",
217
+ "meta_description"=>"",
218
+ "parent_id"=> site_root.id,
219
+ "page_type"=>@blog_page_type,
220
+ "is_included_in_sitemap"=>true,
221
+ "sitemap_priority"=>"0.5",
222
+ "contents_attributes"=>{
223
+ "0"=>{
224
+ "html"=>"<h2>\r\n\tOur Blog</h2>\r\n<p>\r\n\t&nbsp;</p>\r\n<p>\r\n\tThis is the intro text.</p>\r\n",
225
+ "position"=>"0"
226
+ }
227
+ },
228
+ "sitemap_change_freq"=>"monthly"})
229
+
230
+
231
+
232
+ DeluxePublisher::Page.create({"page_title"=>"First Story",
233
+ "allow_comments"=>false,
234
+ "menu_title"=>"First Story",
235
+ "publish_at"=> "2011-05-07 23:07",
236
+ "is_shown_in_main_navigation"=>false,
237
+ "footer_position"=>"0",
238
+ "is_shown_in_secondary_navigation"=>false,
239
+ "file_name"=>"first-story",
240
+ "browser_title"=>"First Story",
241
+ "is_published"=>true,
242
+ "meta_keywords"=>"",
243
+ "meta_description"=>"",
244
+ "parent_id"=> blog.id,
245
+ "page_type"=>@story_page_type,
246
+ "tag_list"=>"example",
247
+ "is_included_in_sitemap"=>true,
248
+ "sitemap_priority"=>"0.5",
249
+ "contents_attributes"=>{
250
+ "0"=>{
251
+ "html"=>"<p>\r\n\t&nbsp;</p>\r\n<meta charset=\"utf-8\" />\r\n<p>\r\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce laoreet libero eu est tempor a posuere sapien venenatis. Quisque fermentum enim vitae libero eleifend cursus. In suscipit pellentesque condimentum. Fusce ullamcorper libero sed enim tristique faucibus iaculis nibh elementum. Curabitur eros risus, consectetur id euismod in, iaculis vitae felis. Ut dictum sollicitudin urna, nec bibendum nunc fringilla in. Maecenas sit amet dignissim justo. Nullam vel elit tortor, at consequat urna. Pellentesque luctus posuere elit, eget dignissim ipsum ullamcorper in. Sed leo enim, rhoncus a dictum vel, cursus at nunc. Cras ullamcorper sollicitudin orci vitae aliquam. Mauris facilisis tristique aliquam.</p>\r\n",
252
+ "position"=>"0"
253
+ },
254
+ "1"=>{
255
+ "html"=>"<p>\r\n\t&nbsp;</p>\r\n<meta charset=\"utf-8\" />\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tVestibulum quis purus ut leo mollis tincidunt vel sit amet justo. Curabitur vitae ipsum eu elit suscipit vestibulum sed id lectus. Curabitur nec tellus id libero suscipit molestie. Donec vitae sapien id orci tristique eleifend eu vel lorem. Sed at odio at elit venenatis ultricies vitae vel sapien. Donec risus massa, hendrerit accumsan sodales ac, interdum vitae odio. Sed nec risus ut dui rutrum dapibus id vel lorem. Vestibulum quis neque mauris. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi congue convallis scelerisque. Aliquam vehicula aliquet tristique. Phasellus quis condimentum enim. Maecenas lorem elit, vulputate nec volutpat eget, interdum sed massa. Nam dignissim, leo non lacinia mattis, ligula eros ornare sem, non interdum urna nisi vitae nibh. Ut porttitor odio ut ante dapibus et fermentum odio pretium. Cras sed mauris augue, a aliquam erat. Proin molestie eros sed nisl sollicitudin at laoreet ante accumsan. Donec sit amet urna sapien, tristique lobortis nunc.</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\t&nbsp;</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tPraesent accumsan arcu ullamcorper ipsum facilisis vulputate. Morbi fermentum blandit venenatis. Quisque tincidunt, purus et tempor auctor, diam neque vulputate mauris, egestas vehicula metus mauris eu turpis. Morbi vitae elementum eros. Suspendisse potenti. Nulla facilisi. Nam vel metus non leo aliquet mollis. Nulla facilisi. Sed cursus magna in diam viverra tristique hendrerit ante hendrerit. Maecenas turpis nunc, porttitor et convallis a, mattis at sapien. Etiam ac diam nisi, vel sollicitudin purus. Praesent sed massa nunc, eget ultrices lorem. Praesent eu turpis libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed blandit elit nec quam auctor aliquam. Aliquam volutpat, urna dictum faucibus rhoncus, eros nunc ullamcorper sapien, sit amet vestibulum tellus dolor non leo. Ut dictum molestie leo at posuere. Nulla sagittis blandit dui, sed viverra velit ultrices non. Praesent eget sem id massa ultricies interdum ut venenatis diam. Quisque accumsan lacinia nisi, et varius tortor fermentum at.</p>\r\n",
256
+ "position"=>"1"
257
+ }
258
+ },
259
+ "sitemap_change_freq"=>"monthly"})
260
+
261
+ DeluxePublisher::Page.create({"page_title"=>"Second Story",
262
+ "allow_comments"=>false,
263
+ "menu_title"=>"Second Story",
264
+ "publish_at"=> "2011-06-07 23:24",
265
+ "is_shown_in_main_navigation"=>false,
266
+ "footer_position"=>"0",
267
+ "is_shown_in_secondary_navigation"=>false,
268
+ "file_name"=>"second-story",
269
+ "browser_title"=>"Second Story",
270
+ "is_published"=>true,
271
+ "meta_keywords"=>"",
272
+ "meta_description"=>"",
273
+ "parent_id"=> blog.id,
274
+ "page_type"=> @story_page_type,
275
+ "tag_list"=>"example, ipsom",
276
+ "is_included_in_sitemap"=>true,
277
+ "sitemap_priority"=>"0.5",
278
+ "contents_attributes"=>{
279
+ "0"=>{
280
+ "html"=>"<p>\r\n\t&nbsp;</p>\r\n<meta charset=\"utf-8\" />\r\n<p>\r\n\tQuisque non ligula dolor. Sed sem leo, commodo vitae scelerisque tristique, suscipit sit amet leo. Praesent tristique rhoncus nisi non fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eu vestibulum neque. Duis tempor, augue vitae auctor lacinia, augue elit pellentesque nunc, id porta justo lectus a nisi. Fusce lobortis, nibh et suscipit vestibulum, magna erat ultricies ante, et iaculis justo metus quis diam. Cras ultricies laoreet enim, fermentum malesuada mauris dictum malesuada. Duis iaculis sem ac odio iaculis id egestas quam gravida. Mauris eros elit, auctor ut commodo vitae, molestie quis quam. Morbi sollicitudin, enim ut gravida eleifend, mauris nunc auctor metus, at sagittis turpis nisl non leo. Phasellus quam ligula, luctus fringilla fermentum id, adipiscing vel urna. Aliquam in ultricies nunc. Vivamus dignissim fermentum diam convallis egestas. Curabitur tellus tellus, tempor in bibendum eget, placerat commodo neque. Donec nisl nulla, interdum in feugiat et, cursus eu mauris. Duis sed purus tellus, vel dignissim dolor. Curabitur risus augue, feugiat vitae vestibulum at, vulputate ac nisi. Duis vitae tortor in mauris pellentesque accumsan.</p>\r\n",
281
+ "position"=>"0"
282
+ },
283
+ "1"=>{
284
+ "html"=>"<p>\r\n\t&nbsp;</p>\r\n<meta charset=\"utf-8\" />\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tQuisque non ligula dolor. Sed sem leo, commodo vitae scelerisque tristique, suscipit sit amet leo. Praesent tristique rhoncus nisi non fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eu vestibulum neque. Duis tempor, augue vitae auctor lacinia, augue elit pellentesque nunc, id porta justo lectus a nisi. Fusce lobortis, nibh et suscipit vestibulum, magna erat ultricies ante, et iaculis justo metus quis diam. Cras ultricies laoreet enim, fermentum malesuada mauris dictum malesuada. Duis iaculis sem ac odio iaculis id egestas quam gravida. Mauris eros elit, auctor ut commodo vitae, molestie quis quam. Morbi sollicitudin, enim ut gravida eleifend, mauris nunc auctor metus, at sagittis turpis nisl non leo. Phasellus quam ligula, luctus fringilla fermentum id, adipiscing vel urna. Aliquam in ultricies nunc. Vivamus dignissim fermentum diam convallis egestas. Curabitur tellus tellus, tempor in bibendum eget, placerat commodo neque. Donec nisl nulla, interdum in feugiat et, cursus eu mauris. Duis sed purus tellus, vel dignissim dolor. Curabitur risus augue, feugiat vitae vestibulum at, vulputate ac nisi. Duis vitae tortor in mauris pellentesque accumsan.</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\t&nbsp;</p>\r\n<p style=\"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; \">\r\n\tPraesent dolor erat, pretium sed bibendum nec, congue iaculis sem. Maecenas vehicula fringilla ultricies. Etiam sollicitudin enim eget arcu placerat porttitor. Sed a accumsan lorem. Nullam vehicula feugiat velit, condimentum euismod sapien dapibus in. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aenean porttitor orci et sapien eleifend convallis. Donec vel odio magna, ut dapibus dolor. Ut ornare ornare ornare. Sed neque dolor, dapibus a sodales sed, luctus nec neque. Nam feugiat eleifend feugiat. Proin dapibus gravida risus, vitae pharetra nibh luctus sit amet. Aenean vitae sem felis. Donec auctor ornare vehicula. Duis ultrices nunc sed felis suscipit et pellentesque risus varius. Nullam sagittis hendrerit dui, ac fringilla quam pulvinar vel. Maecenas massa turpis, tempor at aliquam ac, vestibulum vitae velit. Quisque magna felis, pretium sollicitudin dignissim sit amet, scelerisque nec eros.</p>\r\n",
285
+ "position"=>"1"
286
+ }
287
+ },
288
+ "sitemap_change_freq"=>"monthly"})
289
+
290
+ DeluxePublisher::Page.create({"position"=>"90",
291
+ "page_title"=>"File Not Found",
292
+ "menu_title"=>"File Not Found",
293
+ "publish_at"=> "2011-06-02 19:55",
294
+ "is_shown_in_main_navigation"=>false,
295
+ "footer_position"=>"0",
296
+ "is_shown_in_secondary_navigation"=>false,
297
+ "file_name"=>"404",
298
+ "browser_title"=>"File Not Found",
299
+ "is_published"=>true,
300
+ "meta_keywords"=>"",
301
+ "meta_description"=>"",
302
+ "parent_id"=> site_root,
303
+ "page_type"=> @simple_page_type,
304
+ "is_included_in_sitemap"=>false,
305
+ "sitemap_priority"=>"0.5",
306
+ "contents_attributes"=>{
307
+ "0"=>{
308
+ "html"=>"<p>\r\n\tthis is a custom page not found&nbsp;</p>\r\n",
309
+ "position"=>"0"
310
+ }
311
+ },
312
+ "sitemap_change_freq"=>"monthly"})
313
+
314
+ end
315
+ end
316
+ end
@@ -0,0 +1,129 @@
1
+ require 'spec_helper'
2
+
3
+ # This spec was generated by rspec-rails when you ran the scaffold generator.
4
+ # It demonstrates how one might use RSpec to specify the controller code that
5
+ # was generated by the Rails when you ran the scaffold generator.
6
+
7
+ describe DeluxePublisher::CommentsController do
8
+
9
+ before(:all) do
10
+ @page_type = Factory(:page_type, :function_as => "blog_story")
11
+ @page = Factory(:page, :page_type => @page_type)
12
+ end
13
+
14
+ after(:all) do
15
+ @page_type.destroy
16
+ @page.destroy
17
+ end
18
+
19
+ before(:each) do
20
+ @comment = Factory(:comment, :page => @page)
21
+ end
22
+
23
+ after(:each) do
24
+ @comment.destroy
25
+ end
26
+
27
+
28
+ describe "GET index" do
29
+ it "assigns all deluxe_publisher_comments as @deluxe_publisher_comments" do
30
+ get :index, :page_id => @page
31
+ assigns(:deluxe_publisher_comments).should be_instance_of Array
32
+ assigns(:deluxe_publisher_comments).first.should be_instance_of(DeluxePublisher::Comment)
33
+ end
34
+ end
35
+
36
+ describe "GET show" do
37
+ it "assigns the requested comment as @comment" do
38
+ get :show, :id => @comment, :page_id => @page
39
+ assigns(:deluxe_publisher_comment).should eql @comment
40
+ end
41
+ end
42
+
43
+ describe "GET new" do
44
+ it "assigns a new comment as @deluxe_publisher_comment" do
45
+ get :new, :page_id => @page
46
+ assigns(:deluxe_publisher_comment).should be_instance_of(DeluxePublisher::Comment)
47
+ end
48
+ end
49
+
50
+ describe "GET edit" do
51
+ it "assigns the requested comment as @deluxe_publisher_comment" do
52
+ get :edit, :id => @comment, :page_id => @page
53
+ assigns(:deluxe_publisher_comment).should eql @comment
54
+ end
55
+ end
56
+
57
+ describe "POST create" do
58
+ describe "with valid params" do
59
+ it "assigns a newly created comment as @deluxe_publisher_comment" do
60
+ post :create, :page_id => @page, :deluxe_publisher_comment => Factory.attributes_for(:comment)
61
+ assigns(:deluxe_publisher_comment).should be_instance_of(DeluxePublisher::Comment)
62
+ end
63
+
64
+ it "redirects to the created comment" do
65
+
66
+ post :create, :page_id => @page, :deluxe_publisher_comment => {:body => "Hello World!"}
67
+ response.should redirect_to(deluxe_publisher_page_comments_url(@page))
68
+ end
69
+ end
70
+
71
+ describe "with invalid params" do
72
+ it "assigns a newly created but unsaved comment as @deluxe_publisher_comment" do
73
+ post :create, :page_id => @page, :deluxe_publisher_comment => {:body => ""}
74
+ assigns(:deluxe_publisher_comment).should be_instance_of(DeluxePublisher::Comment)
75
+ end
76
+
77
+ it "re-renders the 'new' template" do
78
+ post :create, :page_id => @page, :comment => {}
79
+ response.should render_template("new")
80
+ end
81
+ end
82
+ end
83
+
84
+ describe "PUT update" do
85
+ describe "with valid params" do
86
+ it "updates the requested comment" do
87
+ put :update, :id => @comment, :page_id => @page, :deluxe_publisher_comment => {:body => "first"}
88
+ DeluxePublisher::Comment.find(@comment).body.should eql "first"
89
+ end
90
+
91
+ it "assigns the requested comment as @comment" do
92
+
93
+ put :update, :id => @comment, :page_id => @page
94
+ assigns(:deluxe_publisher_comment).should eql(@comment)
95
+ end
96
+
97
+ it "redirects to the comment" do
98
+ put :update, :id => @comment, :page_id => @page
99
+ response.should redirect_to(deluxe_publisher_page_comments_url(@page))
100
+ end
101
+ end
102
+
103
+ describe "with invalid params" do
104
+ it "assigns the comment as @deluxe_publisher_comment" do
105
+ put :update, :id => @comment, :page_id => @page, :deluxe_publisher_comment => {:body => ""}
106
+ assigns(:deluxe_publisher_comment).should eql(@comment)
107
+ end
108
+
109
+ it "re-renders the 'edit' template" do
110
+ put :update, :id => @comment, :page_id => @page, :deluxe_publisher_comment => {:body => ""}
111
+ response.should render_template("edit")
112
+ end
113
+ end
114
+ end
115
+
116
+ describe "DELETE destroy" do
117
+ it "destroys the requested comment" do
118
+ delete :destroy, :page_id => @page, :id => @comment
119
+ DeluxePublisher::Comment.first(:conditions => {:id => @comment.id}).should be_nil
120
+ end
121
+
122
+ it "redirects to the deluxe_publisher_comments list" do
123
+
124
+ delete :destroy, :page_id => @page, :id => @comment
125
+ response.should redirect_to(deluxe_publisher_page_comments_url(@page))
126
+ end
127
+ end
128
+
129
+ end