atreides 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (309) hide show
  1. data/LICENSE +7 -0
  2. data/README.rdoc +1 -0
  3. data/app/assets/javascripts/atreides/admin.js +22 -0
  4. data/app/assets/javascripts/atreides/admin_base.js.erb +247 -0
  5. data/app/assets/javascripts/atreides/admin_edit.js +9 -0
  6. data/app/assets/javascripts/atreides/application.js +15 -0
  7. data/app/assets/javascripts/atreides/comments.coffee +50 -0
  8. data/app/assets/javascripts/atreides/public.js +24 -0
  9. data/app/assets/javascripts/atreides/public_base.js.erb +119 -0
  10. data/app/assets/javascripts/atreides/terryblr.js +57 -0
  11. data/app/assets/stylesheets/atreides/admin.css +21 -0
  12. data/app/assets/stylesheets/atreides/admin_base.css.erb +1762 -0
  13. data/app/assets/stylesheets/atreides/application.css +13 -0
  14. data/app/assets/stylesheets/atreides/formtastic_changes.css +10 -0
  15. data/app/assets/stylesheets/atreides/iphone-checkboxes.css.erb +97 -0
  16. data/app/assets/stylesheets/atreides/jBreadCrumb.css +109 -0
  17. data/app/assets/stylesheets/atreides/public.css +15 -0
  18. data/app/assets/stylesheets/atreides/public_base.css +101 -0
  19. data/app/assets/stylesheets/atreides/swfupload.css.erb +63 -0
  20. data/app/controllers/admin/atreides/comments_controller.rb +47 -0
  21. data/app/controllers/admin/atreides/content_parts_controller.rb +43 -0
  22. data/app/controllers/admin/atreides/dropbox_controller.rb +40 -0
  23. data/app/controllers/admin/atreides/features_controller.rb +63 -0
  24. data/app/controllers/admin/atreides/github_controller.rb +35 -0
  25. data/app/controllers/admin/atreides/links_controller.rb +3 -0
  26. data/app/controllers/admin/atreides/messages_controller.rb +3 -0
  27. data/app/controllers/admin/atreides/orders_controller.rb +35 -0
  28. data/app/controllers/admin/atreides/pages_controller.rb +59 -0
  29. data/app/controllers/admin/atreides/photos_controller.rb +79 -0
  30. data/app/controllers/admin/atreides/posts_controller.rb +109 -0
  31. data/app/controllers/admin/atreides/products_controller.rb +39 -0
  32. data/app/controllers/admin/atreides/sessions_controller.rb +7 -0
  33. data/app/controllers/admin/atreides/sizes_controller.rb +4 -0
  34. data/app/controllers/admin/atreides/tags_controller.rb +20 -0
  35. data/app/controllers/admin/atreides/users_controller.rb +50 -0
  36. data/app/controllers/admin/atreides/videos_controller.rb +53 -0
  37. data/app/controllers/atreides/admin_controller.rb +96 -0
  38. data/app/controllers/atreides/admin_home_controller.rb +211 -0
  39. data/app/controllers/atreides/application_controller.rb +93 -0
  40. data/app/controllers/atreides/comments_controller.rb +43 -0
  41. data/app/controllers/atreides/home_controller.rb +71 -0
  42. data/app/controllers/atreides/likes_controller.rb +44 -0
  43. data/app/controllers/atreides/pages_controller.rb +34 -0
  44. data/app/controllers/atreides/posts_controller.rb +119 -0
  45. data/app/controllers/atreides/public_controller.rb +43 -0
  46. data/app/helpers/admin/atreides/comments_helper.rb +8 -0
  47. data/app/helpers/admin/atreides/dropbox_helper.rb +42 -0
  48. data/app/helpers/admin/atreides/features_helper.rb +4 -0
  49. data/app/helpers/admin/atreides/github_helper.rb +43 -0
  50. data/app/helpers/admin/atreides/links_helper.rb +4 -0
  51. data/app/helpers/admin/atreides/messages_helper.rb +4 -0
  52. data/app/helpers/admin/atreides/orders_helper.rb +30 -0
  53. data/app/helpers/admin/atreides/pages_helper.rb +17 -0
  54. data/app/helpers/admin/atreides/photos_helper.rb +14 -0
  55. data/app/helpers/admin/atreides/posts_helper.rb +41 -0
  56. data/app/helpers/admin/atreides/products_helper.rb +37 -0
  57. data/app/helpers/admin/atreides/sizes_helper.rb +4 -0
  58. data/app/helpers/admin/atreides/user_sessions_helper.rb +4 -0
  59. data/app/helpers/admin/atreides/users_helper.rb +8 -0
  60. data/app/helpers/admin/atreides/videos_helper.rb +4 -0
  61. data/app/helpers/atreides/admin_helper.rb +243 -0
  62. data/app/helpers/atreides/admin_home_helper.rb +4 -0
  63. data/app/helpers/atreides/application_helper.rb +210 -0
  64. data/app/helpers/atreides/home_helper.rb +4 -0
  65. data/app/helpers/atreides/posts_helper.rb +119 -0
  66. data/app/inputs/files_input.rb +13 -0
  67. data/app/inputs/price_input.rb +18 -0
  68. data/app/inputs/underline_input.rb +16 -0
  69. data/app/models/atreides/ability.rb +24 -0
  70. data/app/models/atreides/comment.rb +93 -0
  71. data/app/models/atreides/content_part.rb +107 -0
  72. data/app/models/atreides/feature.rb +90 -0
  73. data/app/models/atreides/github.rb +74 -0
  74. data/app/models/atreides/like.rb +35 -0
  75. data/app/models/atreides/line_item.rb +4 -0
  76. data/app/models/atreides/link.rb +32 -0
  77. data/app/models/atreides/message.rb +34 -0
  78. data/app/models/atreides/order.rb +209 -0
  79. data/app/models/atreides/page.rb +114 -0
  80. data/app/models/atreides/photo.rb +130 -0
  81. data/app/models/atreides/post.rb +271 -0
  82. data/app/models/atreides/product.rb +75 -0
  83. data/app/models/atreides/site.rb +59 -0
  84. data/app/models/atreides/size.rb +44 -0
  85. data/app/models/atreides/tag.rb +31 -0
  86. data/app/models/atreides/tweet.rb +123 -0
  87. data/app/models/atreides/user.rb +129 -0
  88. data/app/models/atreides/video.rb +206 -0
  89. data/app/models/atreides/vote.rb +43 -0
  90. data/app/models/fb_post_publisher_job.rb +72 -0
  91. data/app/models/settings.rb +19 -0
  92. data/app/models/tumblr_post_publisher_job.rb +75 -0
  93. data/app/models/tw_post_publisher_job.rb +54 -0
  94. data/app/views/admin/_edit_head_content.html.haml +2 -0
  95. data/app/views/admin/atreides/comments/_line.html.haml +60 -0
  96. data/app/views/admin/atreides/comments/_sidebar.html.haml +52 -0
  97. data/app/views/admin/atreides/comments/create.js.haml +1 -0
  98. data/app/views/admin/atreides/comments/index.html.haml +34 -0
  99. data/app/views/admin/atreides/content_parts/_form.html.haml +21 -0
  100. data/app/views/admin/atreides/content_parts/_photos.html.haml +18 -0
  101. data/app/views/admin/atreides/content_parts/_text.html.haml +1 -0
  102. data/app/views/admin/atreides/content_parts/_videos.html.haml +12 -0
  103. data/app/views/admin/atreides/content_parts/destroy.js.haml +3 -0
  104. data/app/views/admin/atreides/content_parts/edit.html.haml +0 -0
  105. data/app/views/admin/atreides/content_parts/new.html.haml +0 -0
  106. data/app/views/admin/atreides/content_parts/new.js.haml +11 -0
  107. data/app/views/admin/atreides/dropbox/_uploader.html.haml +134 -0
  108. data/app/views/admin/atreides/dropbox/list.html.haml +27 -0
  109. data/app/views/admin/atreides/dropbox/setup.html.haml +8 -0
  110. data/app/views/admin/atreides/features/_form.html.haml +60 -0
  111. data/app/views/admin/atreides/features/edit.html.haml +1 -0
  112. data/app/views/admin/atreides/features/index.html.haml +24 -0
  113. data/app/views/admin/atreides/features/new.html.haml +1 -0
  114. data/app/views/admin/atreides/github/index.html.haml +26 -0
  115. data/app/views/admin/atreides/github/show.html.haml +19 -0
  116. data/app/views/admin/atreides/likes/create.js.haml +2 -0
  117. data/app/views/admin/atreides/orders/_sidebar.html.haml +20 -0
  118. data/app/views/admin/atreides/orders/edit.html.haml +52 -0
  119. data/app/views/admin/atreides/orders/index.html.haml +8 -0
  120. data/app/views/admin/atreides/pages/_form.html.haml +31 -0
  121. data/app/views/admin/atreides/pages/edit.html.haml +3 -0
  122. data/app/views/admin/atreides/pages/index.html.haml +15 -0
  123. data/app/views/admin/atreides/pages/index.js.haml +4 -0
  124. data/app/views/admin/atreides/pages/new.html.haml +2 -0
  125. data/app/views/admin/atreides/photos/create.js.haml +18 -0
  126. data/app/views/admin/atreides/photos/destroy.js.haml +3 -0
  127. data/app/views/admin/atreides/posts/_archives.html.haml +19 -0
  128. data/app/views/admin/atreides/posts/_form.html.haml +66 -0
  129. data/app/views/admin/atreides/posts/_form_buttons.html.haml +9 -0
  130. data/app/views/admin/atreides/posts/_form_sidebar.html.haml +85 -0
  131. data/app/views/admin/atreides/posts/edit.html.haml +2 -0
  132. data/app/views/admin/atreides/posts/index.html.haml +24 -0
  133. data/app/views/admin/atreides/posts/index.js.haml +1 -0
  134. data/app/views/admin/atreides/posts/new.html.haml +2 -0
  135. data/app/views/admin/atreides/products/edit.html.haml +69 -0
  136. data/app/views/admin/atreides/products/index.html.haml +31 -0
  137. data/app/views/admin/atreides/sessions/new.html.haml +13 -0
  138. data/app/views/admin/atreides/user_sessions/new.html.haml +10 -0
  139. data/app/views/admin/atreides/users/_form.html.haml +19 -0
  140. data/app/views/admin/atreides/users/edit.html.haml +6 -0
  141. data/app/views/admin/atreides/users/index.html.haml +11 -0
  142. data/app/views/admin/atreides/users/new.html.haml +6 -0
  143. data/app/views/admin/atreides/users/show.html.haml +4 -0
  144. data/app/views/admin/atreides/videos/create.js.haml +9 -0
  145. data/app/views/admin/atreides/videos/destroy.js.haml +3 -0
  146. data/app/views/admin/common/_archive_sidebar.html.haml +29 -0
  147. data/app/views/admin/common/_list_table.html.erb +37 -0
  148. data/app/views/admin/common/_list_table_row.html.erb +18 -0
  149. data/app/views/admin/common/_pagination.html.erb +1 -0
  150. data/app/views/admin/common/_search_form.html.erb +6 -0
  151. data/app/views/admin/common/access_denied.html.haml +1 -0
  152. data/app/views/atreides/admin/_content_nav.html.haml +8 -0
  153. data/app/views/atreides/admin_home/_analytics.html.haml +93 -0
  154. data/app/views/atreides/admin_home/_fb_page_likes_analytics_tbody.haml +10 -0
  155. data/app/views/atreides/admin_home/_fb_page_views_analytics_tbody.haml +10 -0
  156. data/app/views/atreides/admin_home/_top_landing_pages_analytics_tbody.haml +14 -0
  157. data/app/views/atreides/admin_home/_top_referrers_analytics_tbody.haml +12 -0
  158. data/app/views/atreides/admin_home/_tweets_analytics_tbody.html.haml +8 -0
  159. data/app/views/atreides/admin_home/_visitors_analytics_tbody.html.haml +12 -0
  160. data/app/views/atreides/admin_home/index.html.haml +57 -0
  161. data/app/views/atreides/admin_home/search.html.haml +11 -0
  162. data/app/views/atreides/admin_home/setup.html.haml +15 -0
  163. data/app/views/atreides/common/_gallery_params.xml.erb +174 -0
  164. data/app/views/atreides/common/slideshow.xml.haml +6 -0
  165. data/app/views/atreides/errors/404.html.haml +10 -0
  166. data/app/views/atreides/errors/500.html.haml +4 -0
  167. data/app/views/atreides/home/index.html.haml +30 -0
  168. data/app/views/atreides/home/index.js.haml +1 -0
  169. data/app/views/atreides/home/robots.txt.erb +5 -0
  170. data/app/views/atreides/home/sitemap.xml.builder +35 -0
  171. data/app/views/atreides/pages/show.html.haml +3 -0
  172. data/app/views/atreides/posts/_archives.html.haml +19 -0
  173. data/app/views/atreides/posts/_featured_posts.html.haml +10 -0
  174. data/app/views/atreides/posts/_list.html.haml +9 -0
  175. data/app/views/atreides/posts/archives.html.haml +3 -0
  176. data/app/views/atreides/posts/archives.js.haml +1 -0
  177. data/app/views/atreides/posts/gallery_params.xml.haml +1 -0
  178. data/app/views/atreides/posts/index.atom.builder +22 -0
  179. data/app/views/atreides/posts/index.html.haml +13 -0
  180. data/app/views/atreides/posts/index.rss.builder +21 -0
  181. data/app/views/atreides/posts/show.html.haml +23 -0
  182. data/app/views/atreides/posts/tagged.html.haml +4 -0
  183. data/app/views/atreides/posts/tagged.js.haml +1 -0
  184. data/app/views/layouts/admin.html.haml +62 -0
  185. data/app/views/layouts/application.html.haml +37 -0
  186. data/app/views/layouts/atreides/application.html.erb +14 -0
  187. data/app/views/layouts/public.html.haml +39 -0
  188. data/config/cucumber.yml +11 -0
  189. data/config/locales/en.yml +236 -0
  190. data/config/locales/fr.yml +199 -0
  191. data/config/routes.rb +119 -0
  192. data/lib/assets/images/atreides/admin/add.png +0 -0
  193. data/lib/assets/images/atreides/admin/add_btn.png +0 -0
  194. data/lib/assets/images/atreides/admin/add_dashboard.png +0 -0
  195. data/lib/assets/images/atreides/admin/add_photo_button_sprite.png +0 -0
  196. data/lib/assets/images/atreides/admin/add_photos_btn.png +0 -0
  197. data/lib/assets/images/atreides/admin/background.png +0 -0
  198. data/lib/assets/images/atreides/admin/calendar.png +0 -0
  199. data/lib/assets/images/atreides/admin/chevron.gif +0 -0
  200. data/lib/assets/images/atreides/admin/chevron_overlay.png +0 -0
  201. data/lib/assets/images/atreides/admin/choose_photos_button_sprite.png +0 -0
  202. data/lib/assets/images/atreides/admin/content_bg.png +0 -0
  203. data/lib/assets/images/atreides/admin/content_bg_edit_form.png +0 -0
  204. data/lib/assets/images/atreides/admin/content_part_break.png +0 -0
  205. data/lib/assets/images/atreides/admin/content_part_drop_target.png +0 -0
  206. data/lib/assets/images/atreides/admin/content_part_icons.png +0 -0
  207. data/lib/assets/images/atreides/admin/content_part_photos.png +0 -0
  208. data/lib/assets/images/atreides/admin/content_part_text.png +0 -0
  209. data/lib/assets/images/atreides/admin/content_part_videos.png +0 -0
  210. data/lib/assets/images/atreides/admin/content_top_edit_form.png +0 -0
  211. data/lib/assets/images/atreides/admin/dashboard-indicator.gif +0 -0
  212. data/lib/assets/images/atreides/admin/dashboard_controls_activity.png +0 -0
  213. data/lib/assets/images/atreides/admin/dashboard_controls_customize.png +0 -0
  214. data/lib/assets/images/atreides/admin/dashboard_controls_drafts.png +0 -0
  215. data/lib/assets/images/atreides/admin/dashboard_controls_open.png +0 -0
  216. data/lib/assets/images/atreides/admin/dashboard_controls_posts.png +0 -0
  217. data/lib/assets/images/atreides/admin/dashboard_controls_queue.png +0 -0
  218. data/lib/assets/images/atreides/admin/dashboard_nav_border.png +0 -0
  219. data/lib/assets/images/atreides/admin/delete_bg.png +0 -0
  220. data/lib/assets/images/atreides/admin/down_arrow.png +0 -0
  221. data/lib/assets/images/atreides/admin/dropbox_big.jpg +0 -0
  222. data/lib/assets/images/atreides/admin/dropbox_btn.png +0 -0
  223. data/lib/assets/images/atreides/admin/dropbox_folder.png +0 -0
  224. data/lib/assets/images/atreides/admin/dropbox_icon.gif +0 -0
  225. data/lib/assets/images/atreides/admin/dropbox_icon.png +0 -0
  226. data/lib/assets/images/atreides/admin/expand_collapse.png +0 -0
  227. data/lib/assets/images/atreides/admin/form_sidebar_divider.png +0 -0
  228. data/lib/assets/images/atreides/admin/grey_hatch_bg.png +0 -0
  229. data/lib/assets/images/atreides/admin/header.png +0 -0
  230. data/lib/assets/images/atreides/admin/icon_dropbox.gif +0 -0
  231. data/lib/assets/images/atreides/admin/icon_home.gif +0 -0
  232. data/lib/assets/images/atreides/admin/input_bg.gif +0 -0
  233. data/lib/assets/images/atreides/admin/large_loading.gif +0 -0
  234. data/lib/assets/images/atreides/admin/new_content_icons.png +0 -0
  235. data/lib/assets/images/atreides/admin/off.png +0 -0
  236. data/lib/assets/images/atreides/admin/on.png +0 -0
  237. data/lib/assets/images/atreides/admin/page_icon.png +0 -0
  238. data/lib/assets/images/atreides/admin/permalink.png +0 -0
  239. data/lib/assets/images/atreides/admin/photos-display-type-gallery.png +0 -0
  240. data/lib/assets/images/atreides/admin/photos-display-type-photos.png +0 -0
  241. data/lib/assets/images/atreides/admin/product.png +0 -0
  242. data/lib/assets/images/atreides/admin/remove.png +0 -0
  243. data/lib/assets/images/atreides/admin/resize.png +0 -0
  244. data/lib/assets/images/atreides/admin/save_btn.png +0 -0
  245. data/lib/assets/images/atreides/admin/search_icon.png +0 -0
  246. data/lib/assets/images/atreides/admin/select_arrows.png +0 -0
  247. data/lib/assets/images/atreides/admin/slider.png +0 -0
  248. data/lib/assets/images/atreides/admin/slider_center.png +0 -0
  249. data/lib/assets/images/atreides/admin/slider_left.png +0 -0
  250. data/lib/assets/images/atreides/admin/slider_right.png +0 -0
  251. data/lib/assets/images/atreides/admin/sprite.png +0 -0
  252. data/lib/assets/images/atreides/admin/upload_btn.png +0 -0
  253. data/lib/assets/images/atreides/admin/video_bg.png +0 -0
  254. data/lib/assets/images/atreides/blank.gif +0 -0
  255. data/lib/assets/images/atreides/closelabel.png +0 -0
  256. data/lib/assets/images/atreides/loading.gif +0 -0
  257. data/lib/assets/images/atreides/sprite.png +0 -0
  258. data/lib/assets/images/atreides/tipsy.gif +0 -0
  259. data/lib/atreides.rb +82 -0
  260. data/lib/atreides/base/aasmstates.rb +117 -0
  261. data/lib/atreides/base/base.rb +40 -0
  262. data/lib/atreides/base/taggable.rb +43 -0
  263. data/lib/atreides/base/validation.rb +23 -0
  264. data/lib/atreides/configuration.rb +61 -0
  265. data/lib/atreides/engine.rb +41 -0
  266. data/lib/atreides/extendable.rb +12 -0
  267. data/lib/atreides/i18n_helpers.rb +65 -0
  268. data/lib/atreides/railties/tasks.rake +68 -0
  269. data/lib/atreides/time_formats.rb +19 -0
  270. data/lib/atreides/validators.rb +15 -0
  271. data/lib/atreides/version.rb +4 -0
  272. data/lib/generators/atreides/USAGE +0 -0
  273. data/lib/generators/atreides/atreides_generator.rb +58 -0
  274. data/lib/generators/templates/Procfile +2 -0
  275. data/lib/generators/templates/add_role_to_users.rb +16 -0
  276. data/lib/generators/templates/add_userid_to_resources.rb +15 -0
  277. data/lib/generators/templates/create_comments.rb +19 -0
  278. data/lib/generators/templates/create_content_parts.rb +66 -0
  279. data/lib/generators/templates/create_features.rb +21 -0
  280. data/lib/generators/templates/create_likes.rb +16 -0
  281. data/lib/generators/templates/create_line_items.rb +21 -0
  282. data/lib/generators/templates/create_links.rb +16 -0
  283. data/lib/generators/templates/create_messages.rb +24 -0
  284. data/lib/generators/templates/create_orders.rb +31 -0
  285. data/lib/generators/templates/create_pages.rb +31 -0
  286. data/lib/generators/templates/create_photos.rb +22 -0
  287. data/lib/generators/templates/create_posts.rb +38 -0
  288. data/lib/generators/templates/create_products.rb +24 -0
  289. data/lib/generators/templates/create_sessions.rb +16 -0
  290. data/lib/generators/templates/create_sites.rb +35 -0
  291. data/lib/generators/templates/create_sizes.rb +16 -0
  292. data/lib/generators/templates/create_tweets.rb +25 -0
  293. data/lib/generators/templates/create_videos.rb +24 -0
  294. data/lib/generators/templates/create_votes.rb +20 -0
  295. data/lib/generators/templates/delayed_job.rb +5 -0
  296. data/lib/generators/templates/devise_create_users.rb +42 -0
  297. data/lib/generators/templates/disqussion.rb +30 -0
  298. data/lib/generators/templates/em-net-http_override.rb +74 -0
  299. data/lib/generators/templates/initializer.rb +21 -0
  300. data/lib/generators/templates/new_relic.rb +6 -0
  301. data/lib/generators/templates/oembed.yml +63 -0
  302. data/lib/generators/templates/settings.yml +110 -0
  303. data/lib/generators/templates/string_extensions.rb +20 -0
  304. data/lib/generators/templates/unicorn.rb +2 -0
  305. data/lib/tasks/atreides_tasks.rake +4 -0
  306. data/lib/tasks/cucumber.rake +58 -0
  307. data/lib/tasks/tasks.rake +403 -0
  308. data/lib/tasks/yard.rake +18 -0
  309. metadata +1458 -0
data/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ Copyright (c) 2012 Lachlan Laycock, Chad Jackson, Harry Bernstein, Mathieu Ravaux, Jérémy Van de Wyngaert, William Alton, Adam Copeland, Benjamin Manns
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1 @@
1
+ = Atreides
@@ -0,0 +1,22 @@
1
+ //= require atreides/underscore-1.1.6
2
+ //= require jquery
3
+ //= require jquery_ujs
4
+ //= require atreides/jquery.easing.1.3
5
+ //= require jquery-ui
6
+ //= require atreides/admin_base
7
+
8
+ /*
9
+ * Atreides - Admin Behaviours
10
+ *
11
+ * Lachlan Laycock @ Le 88
12
+ * 16 May 2011
13
+ *
14
+ * PUT YOUR MODIFICATIONS HERE
15
+ *
16
+ */
17
+
18
+ $(document).ready(function() {
19
+
20
+ // Put your magic here
21
+
22
+ })
@@ -0,0 +1,247 @@
1
+ /*
2
+ * Atreides - Admin Behaviours
3
+ *
4
+ * Lachlan Laycock @ Le 88
5
+ * 22 Feb 2010
6
+ *
7
+ * DO NOT EDIT THIS FILE!
8
+ * CHANGES TO THIS FILE WILL BE LOST!
9
+ *
10
+ * Use admin.js for location modifactions
11
+ *
12
+ */
13
+
14
+ jQuery.fn.bindAll = function(options) {
15
+ var $this = this;
16
+ jQuery.each(options, function(key, val){
17
+ $this.bind(key, val);
18
+ });
19
+ return this;
20
+ }
21
+
22
+ var pageChanged = false;
23
+
24
+ function hasPageChanged(){
25
+ return pageChanged;
26
+ };
27
+
28
+ $(window).bind("beforeunload", function(){
29
+ if(hasPageChanged()){
30
+ return "You have unsaved changes on this page."
31
+ }
32
+ });
33
+
34
+ $(document).ready(function() {
35
+
36
+ $("input, textarea").not("input[name*='search'], input[name*='query']").bind("change", function(){
37
+ pageChanged = true;
38
+ });
39
+
40
+ $("form").submit(function(){
41
+ pageChanged = false;
42
+ return true;
43
+ });
44
+
45
+ // Hide flash messages
46
+ $("#flash").delay(2000).fadeOut('slow');
47
+
48
+ var links = $('a')
49
+ if (links.length) {
50
+ links.click(function(e) {
51
+ $(this).addClass('loading')
52
+ })
53
+
54
+ // Remove loading class to all links when AJAX finished - use CSS to style
55
+ links.ajaxComplete(function(e) {
56
+ $(this).removeClass('loading');
57
+ })
58
+
59
+ // Make external links open in new window
60
+ reg = new RegExp("//"+window.location.host+"/");
61
+ links.each(function(i, el) {
62
+ if (!el.href.match(reg)) {
63
+ var el = $(el);
64
+ if (!el.attr('target')) {
65
+ el.attr('target', '_blank')
66
+ }
67
+ }
68
+ })
69
+ }
70
+
71
+ // Add behaviour to support attributes of data-submit. Must be using jquery-ujs as well.
72
+ $('a[data-submit]').live('ajax:before', function(event) {
73
+ submit_fields = $($(this).data('submit'))
74
+ $(this).data('params', submit_fields.serialize())
75
+ })
76
+
77
+ // Date pickers
78
+ if ((date_pickers = $(".date-picker input")).length) {
79
+ date_pickers.datepicker({ dateFormat: 'dd/mm/yy' });
80
+ }
81
+
82
+ // Tag inputs
83
+ if ((tag_textareas = $('.tag-picker textarea')).length) {
84
+ tag_textareas.tags();
85
+ }
86
+
87
+ // Auto-hide fields
88
+ auto_hides = $('.auto-hide-text input')
89
+ if (auto_hides.length) {
90
+ auto_hides.each(function(i, el) { $(el).attr('default',$(el).val()) })
91
+ auto_hides.focus(function(e) {
92
+ if ($(this).val()==$(this).attr('default')) $(this).val('')
93
+ $(this).attr('style', 'color:#000');
94
+ })
95
+ auto_hides.blur(function(e) {
96
+ if ($(this).val().length==0) {
97
+ $(this).val($(this).attr('default'))
98
+ $(this).attr('style', '');
99
+ }
100
+ })
101
+ }
102
+
103
+ // Post state drop-down
104
+ var state_select_css = '.post-states select, .page-states select, .product-states select'
105
+ var state_input_css = '#post_published_at_input, #page_published_at_input, #product_published_at_input'
106
+ var state_hidden_css = '.post-hidden input, .page-hidden input, .product-hidden input'
107
+ function update_state_select() {
108
+ $(state_input_css).hide()
109
+ switch(this.value) {
110
+ case 'publish_now':
111
+ $(state_hidden_css).val("published");
112
+ break;
113
+ case 'published_at':
114
+ $(state_hidden_css).val("published");
115
+ $(state_input_css).show();
116
+ break;
117
+ default:
118
+ $(state_hidden_css).val(this.value);
119
+ break;
120
+ }
121
+ }
122
+ $(state_select_css).change(update_state_select);
123
+ $(state_select_css).trigger('change'); // Make sure it shows correctly on load
124
+
125
+ // Photo display types
126
+ var photo_types = $(".photos-display-type input")
127
+ if (photo_types.length) {
128
+ photo_types.click(function() {
129
+ // Removed selected class from parents then add to selected child input
130
+ $(this).parent().removeClass('selected').children("input:checked").parent().addClass('selected')
131
+ })
132
+ }
133
+
134
+ // Post address selector
135
+ var post_address = $("input#post_address")
136
+ var map_canvas = $("#map_canvas")
137
+ if (typeof(google)!='undefined' && post_address.length && map_canvas.length && $.fn.autocomplete) {
138
+
139
+ // Form elements
140
+ var post_lat = $("input#post_lat");
141
+ var post_long = $("input#post_long");
142
+ var post_loc = $("input#post_loc");
143
+
144
+ // Setup Gmap
145
+ var latlng = new google.maps.LatLng((post_lat.length ? post_lat.val() : 30),(post_long.length ? post_long.val() : -45));
146
+ var map = new google.maps.Map(map_canvas[0], {
147
+ zoom: (post_lat.val().length ? 12 : 1),
148
+ center: latlng,
149
+ disableDefaultUI: true,
150
+ mapTypeId: google.maps.MapTypeId.ROADMAP
151
+ });
152
+
153
+ //GEOCODER
154
+ var geocoder = new google.maps.Geocoder();
155
+ var marker = new google.maps.Marker({
156
+ map: map,
157
+ draggable: true
158
+ });
159
+
160
+ post_address.autocomplete({
161
+ //This bit uses the geocoder to fetch address values
162
+ source: function(request, response) {
163
+ geocoder.geocode( {'address': request.term }, function(results, status) {
164
+ response($.map(results, function(item) {
165
+ var address_parts = $.grep(item.address_components, function(add) { return ['locality','country'].indexOf(add.types[0])!=-1 })
166
+ var label = $.map(address_parts, function(part) { return part.long_name }).join(", ")
167
+ return {
168
+ label: label,
169
+ value: label,
170
+ latitude: item.geometry.location.lat(),
171
+ longitude: item.geometry.location.lng()
172
+ }
173
+ }));
174
+ })
175
+ },
176
+ //This bit is executed upon selection of an address
177
+ select: function(event, ui) {
178
+ post_lat.val(ui.item.latitude);
179
+ post_long.val(ui.item.longitude);
180
+ post_loc.val(ui.item.value);
181
+ var location = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
182
+ marker.setPosition(location);
183
+ map.setCenter(location);
184
+ map.setZoom(12);
185
+ }
186
+ });
187
+ }
188
+
189
+ // Features select post. Eg: /admin/new/feature
190
+ $(".photos-choose a").ajaxSuccess(function(e) {
191
+ features = $("#feature_post_browser .archives a")
192
+ if (features.length) {
193
+ features.unbind('click')
194
+ features.bind('click', function(e) {
195
+ a = $(e.currentTarget)
196
+
197
+ // Set hidden field to assoc post
198
+ dom_id = a.parent().attr('id')
199
+ match = dom_id.match(/\d+/)
200
+ if (match.length) {
201
+ post_id = match[0]
202
+ $("input#feature_post_id").val(post_id)
203
+
204
+ // Set title field
205
+ title = a.find('span').html()
206
+ title_field = $("input#feature_title")
207
+ if (title_field.length && title_field.val().length==0) {
208
+ title_field.val(title)
209
+ }
210
+
211
+ // Set URL field
212
+ url = "http://"+window.location.host+"/posts/"+post_id+"/"+title.toLowerCase().replace(/\W+/g,'-')
213
+ url_field = $("input#feature_url")
214
+ if (url_field.length && url_field.val().length==0) {
215
+ url_field.val(url)
216
+ }
217
+
218
+ // Insert new image
219
+ photo_list = $("#feature_photo_ul")
220
+ if (photo_list.length) {
221
+ img_url = a.css('background-image').match(/http.*\?/)[0]
222
+ img_url = img_url.replace(/thumb/, 'list')
223
+ photo_list.html($("<li>").append($("<img>").attr('src', img_url)))
224
+ }
225
+
226
+ }
227
+ // Prevent A link for launching
228
+ return false;
229
+ })
230
+ }
231
+ });
232
+ });
233
+
234
+ function fixRailsEmbeddedFormHashOrder(container) {
235
+ // Fix up rails nested form hash ordering
236
+ try {
237
+ container.find('fieldset').each(function(i, el) {
238
+ $(el).find(':input').each(function(j, inp) {
239
+ new_name = String(inp.name).replace(/\[parts_attributes\]\[\d+\]/,'[parts_attributes]['+i+']')
240
+ $(inp).attr('name', new_name)
241
+ })
242
+ })
243
+ } catch (err) {
244
+ console.log("Error: "+err.description)
245
+ console.debug(err)
246
+ }
247
+ }
@@ -0,0 +1,9 @@
1
+ // require atreides/backbone-0.3.3
2
+ //= require atreides/jtags
3
+ //= require atreides/fileuploader
4
+ //= require atreides/jquery.tipsy
5
+ //= require atreides/facebox
6
+ //= require atreides/jquery.multipleselectbox
7
+ //= require atreides/jquery.jBreadCrumb.1.1
8
+ //= require atreides/jquery.swfupload
9
+ //= require atreides/swfupload/swfupload
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require_tree .
@@ -0,0 +1,50 @@
1
+ $('#filter-list').change () ->
2
+ console.log 'go..'
3
+ self = $(this)
4
+ setTimeout () ->
5
+ self.submit()
6
+ , 30
7
+
8
+ # set up comment expand/collapse links.
9
+ $('.comment').each (index, comment) ->
10
+ # Don't create a new event for comments that have already been loaded.
11
+ return true if comment._loaded
12
+ comment._loaded = true;
13
+
14
+ $(this).click (event) ->
15
+ comment = $(this)
16
+
17
+ # Allow any user interact-able object (links, inputs, etc.) to function normally.
18
+ if ($(event.target).is('a,:input') || $(event.target).closest('a,:input').length > 0)
19
+ return true
20
+
21
+ if (comment.hasClass('expanded'))
22
+ comment.removeClass('expanded')
23
+ else
24
+ comment.addClass('expanded').removeClass('unread')
25
+ return false
26
+
27
+ if $('#expandall').hasClass('collapseall')
28
+ for post in posts
29
+ $('#comment-' + post.id).find('.comment-excerpt-block').click()
30
+
31
+ # $('.comment').live 'click', () ->
32
+ # $(this).toggleClass "expanded"
33
+
34
+ $('.actions form input[type=button]').click () ->
35
+ unless _.isEmpty getSelectedCommentId()
36
+ els = createInputCommentIds()
37
+ $(this).parent('form').append(els).submit()
38
+ else
39
+ console.log "Please select at least one comment."
40
+ return false
41
+
42
+ createInputCommentIds = () ->
43
+ els = ''
44
+ _.each getSelectedCommentId(), (cid) ->
45
+ els += "<input type='hidden' name='comment_ids[]' value='" + cid + "'>"
46
+ return els
47
+
48
+ getSelectedCommentId = () ->
49
+ _.map $('.comment-select input[type=checkbox]:checked'), (el) ->
50
+ $(el).attr("id").split("-")[1]
@@ -0,0 +1,24 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require jquery-ui
4
+ //= require atreides/jquery.cycle
5
+ //= require atreides/jquery.flash
6
+ //= require atreides/jquery.cookie
7
+ //= require atreides/swfobject
8
+ //= require atreides/public_base
9
+
10
+ /*
11
+ * Atreides - Public Behaviours
12
+ *
13
+ * Lachlan Laycock @ Le 88
14
+ * 16 May 2011
15
+ *
16
+ * PUT YOUR MODIFICATIONS HERE
17
+ *
18
+ */
19
+
20
+ $(document).ready(function() {
21
+
22
+ // Put your magic here
23
+
24
+ })
@@ -0,0 +1,119 @@
1
+ /*
2
+ * Atreides - Public Behaviours
3
+ *
4
+ * Lachlan Laycock @ Jackson Laycock
5
+ * 16 May 2011
6
+ *
7
+ * DO NOT EDIT THIS FILE!
8
+ * CHANGES TO THIS FILE WILL BE LOST!
9
+ *
10
+ * Use public.js for location modifactions
11
+ *
12
+ */
13
+
14
+ function remove_duplicate_month(month) {
15
+ $(document).ready(function () {
16
+ tm = $("." + month);
17
+ if (tm.length == 2) {
18
+ tm.last().remove();
19
+ };
20
+ });
21
+ }
22
+
23
+ $(document).ready(function() {
24
+
25
+ // Add browser classes to allow for targeting
26
+ $('body').addClass($.uaMatch(navigator.userAgent).browser)
27
+ $('body').addClass('v'+$.browser.version.substr(0,3).replace(/\./,'-'))
28
+ mobile = navigator.userAgent.match(/iPad|iPod|iPhone|Android/i)
29
+ if (mobile) {
30
+ $('body').addClass('mobile')
31
+ $('body').addClass(mobile)
32
+ }
33
+
34
+ // Add loading class to all links when clicked on - use CSS to style
35
+ $('a').click(function(e) {
36
+ $(this).addClass('loading')
37
+ })
38
+ // Remove loading class to all links when AJAX finished - use CSS to style
39
+ $('a').ajaxComplete(function(e) {
40
+ $(this).removeClass('loading');
41
+ })
42
+
43
+ var gallerias = $('.galleria')
44
+ if (gallerias.length) {
45
+ Galleria.loadTheme("<%= javascript_path('atreides/galleria/src/themes/classic/galleria.classic') %>");
46
+ gallerias.galleria({
47
+ extend: function(options) {
48
+ // listen to when an image is shown
49
+ this.bind(Galleria.IMAGE, function(e) {
50
+ var currentImage = $(e.imageTarget) // the current image
51
+
52
+ });
53
+ }
54
+ })
55
+ }
56
+
57
+ // Auto-hide fields
58
+ auto_hides = $('.auto-hide-text input[type=text]')
59
+ if (auto_hides.length > 0) {
60
+ auto_hides.each(function(i, el) { $(el).attr('default',$(el).val()) })
61
+ auto_hides.focus(function(e) {
62
+ if ($(this).val()==$(this).attr('default')) $(this).val('')
63
+ $(this).attr('style', 'color:#000');
64
+ })
65
+ auto_hides.blur(function(e) {
66
+ if ($(this).val().length==0) {
67
+ $(this).val($(this).attr('default'))
68
+ $(this).attr('style', '');
69
+ }
70
+ })
71
+ }
72
+
73
+ // Share It Box
74
+ $('a.share').mouseenter(function() {
75
+ //get the height, top and calculate the left value for the sharebox
76
+ var height = $(this).height() + 0;
77
+
78
+ //get the left and find the center value
79
+ var top = $(this).offset().top;
80
+ var left = $(this).offset().left + ($(this).width() /2) - ($('#shareit-box').width() / 2);
81
+
82
+ //assign the value to variables and encode it to url friendly
83
+ var field = $(this).attr('href');
84
+ var url = encodeURIComponent(field);
85
+ var title = encodeURIComponent($(this).attr('title'));
86
+
87
+ //assign the height for the header, so that the link is cover
88
+ $('#shareit-header').height(height);
89
+
90
+ //set the position, the box should appear under the link and centered
91
+ $('#shareit-box').css({'top':top, 'left':left});
92
+
93
+ //Setup the bookmark media url and title
94
+ $('a[rel=shareit-email]').attr('href', 'mailto:?subject=' + title + '&body=' + url);
95
+ $('a[rel=shareit-facebook]').attr('href', 'http://www.facebook.com/share.php?u=' + url + '&t=' + title);
96
+ $('a[rel=shareit-delicious]').attr('href', 'http://del.icio.us/post?v=4&noui&jump=close&url=' + url + '&title=' + title);
97
+ $('a[rel=shareit-designfloat]').attr('href', 'http://www.designfloat.com/submit.php?url=' + url + '&title=' + title);
98
+ $('a[rel=shareit-digg]').attr('href', 'http://digg.com/submit?phase=2&url=' + url + '&title=' + title);
99
+ $('a[rel=shareit-stumbleupon]').attr('href', 'http://www.stumbleupon.com/submit?url=' + url + '&title=' + title);
100
+ $('a[rel=shareit-twitter]').attr('href', 'http://twitter.com/home?status=' + title + ':%20' + url);
101
+ $('a[rel=shareit-tumblr]').attr('href', 'http://tumblr.com/share?v=2&u='+ url +'&t=' + title);
102
+
103
+ //display the box
104
+ $('#shareit-box').show();
105
+
106
+ });
107
+
108
+ //onmouse out hide the shareit box
109
+ $('#shareit-box').mouseleave(function () {
110
+ $('#shareit-field').val('');
111
+ $(this).hide();
112
+ });
113
+
114
+ //hightlight the textfield on click event
115
+ $('#shareit-field').click(function () {
116
+ $(this).select();
117
+ });
118
+
119
+ })