hurry 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (651) hide show
  1. data/Gemfile +55 -0
  2. data/Rakefile +69 -0
  3. data/app/assets/audios/twilight-hole.mp3 +0 -0
  4. data/app/assets/files/arvind resume (1).doc +0 -0
  5. data/app/assets/files/toma v 0 1.ppt +0 -0
  6. data/app/assets/images/0d0a413.png +0 -0
  7. data/app/assets/images/120.jpg +0 -0
  8. data/app/assets/images/51.jpg +0 -0
  9. data/app/assets/images/Untitled Document +97 -0
  10. data/app/assets/images/Untitled Document~ +97 -0
  11. data/app/assets/images/access.png +0 -0
  12. data/app/assets/images/adv.png +0 -0
  13. data/app/assets/images/article.png +0 -0
  14. data/app/assets/images/audio_icon.jpg +0 -0
  15. data/app/assets/images/background.gif +0 -0
  16. data/app/assets/images/banners/111.jpg +0 -0
  17. data/app/assets/images/banners/90.jpg +0 -0
  18. data/app/assets/images/banners/userimg.png +0 -0
  19. data/app/assets/images/blog.png +0 -0
  20. data/app/assets/images/body.png +0 -0
  21. data/app/assets/images/cancel.png +0 -0
  22. data/app/assets/images/cat.png +0 -0
  23. data/app/assets/images/contributions_userimg2.png +0 -0
  24. data/app/assets/images/delete.png +0 -0
  25. data/app/assets/images/edit.png +0 -0
  26. data/app/assets/images/excel.jpg +0 -0
  27. data/app/assets/images/file.gif +0 -0
  28. data/app/assets/images/file.jpeg +0 -0
  29. data/app/assets/images/folder-closed.gif +0 -0
  30. data/app/assets/images/folder.gif +0 -0
  31. data/app/assets/images/group.png +0 -0
  32. data/app/assets/images/header.png +0 -0
  33. data/app/assets/images/icons.gif +0 -0
  34. data/app/assets/images/loading.gif +0 -0
  35. data/app/assets/images/logo.png +0 -0
  36. data/app/assets/images/logout.png +0 -0
  37. data/app/assets/images/media.png +0 -0
  38. data/app/assets/images/minus.gif +0 -0
  39. data/app/assets/images/new.png +0 -0
  40. data/app/assets/images/page_manager.png +0 -0
  41. data/app/assets/images/pdf.png +0 -0
  42. data/app/assets/images/personal/ice glass.jpg +0 -0
  43. data/app/assets/images/plus.gif +0 -0
  44. data/app/assets/images/ppt.jpg +0 -0
  45. data/app/assets/images/profileimg.png +0 -0
  46. data/app/assets/images/rails.png +0 -0
  47. data/app/assets/images/setting.png +0 -0
  48. data/app/assets/images/status.png +0 -0
  49. data/app/assets/images/treeview-black-line.gif +0 -0
  50. data/app/assets/images/treeview-black.gif +0 -0
  51. data/app/assets/images/treeview-default-line.gif +0 -0
  52. data/app/assets/images/treeview-default.gif +0 -0
  53. data/app/assets/images/treeview-famfamfam-line.gif +0 -0
  54. data/app/assets/images/treeview-famfamfam.gif +0 -0
  55. data/app/assets/images/treeview-gray-line.gif +0 -0
  56. data/app/assets/images/treeview-gray.gif +0 -0
  57. data/app/assets/images/treeview-red-line.gif +0 -0
  58. data/app/assets/images/treeview-red.gif +0 -0
  59. data/app/assets/images/ui.dynatree.css +440 -0
  60. data/app/assets/images/user.png +0 -0
  61. data/app/assets/images/user1.png +0 -0
  62. data/app/assets/images/user_manager.png +0 -0
  63. data/app/assets/images/video_icon.jpg +0 -0
  64. data/app/assets/images/vline.gif +0 -0
  65. data/app/assets/images/word.png +0 -0
  66. data/app/assets/javascripts/application.js +9 -0
  67. data/app/assets/javascripts/bolt/articles.js.coffee +3 -0
  68. data/app/assets/javascripts/bolt/groups.js.coffee +3 -0
  69. data/app/assets/javascripts/bolt/user_groups.js.coffee +3 -0
  70. data/app/assets/javascripts/bolt/users_groups.js.coffee +3 -0
  71. data/app/assets/javascripts/imagebubble.js~ +68 -0
  72. data/app/assets/javascripts/javascript_functions.js +65 -0
  73. data/app/assets/javascripts/jquery.dynatree.js +3312 -0
  74. data/app/assets/javascripts/jquery.js +154 -0
  75. data/app/assets/javascripts/jquery.treeview.js +251 -0
  76. data/app/assets/javascripts/jquery_new.js +19 -0
  77. data/app/assets/javascripts/login.js +24 -0
  78. data/app/assets/javascripts/media.js +64 -0
  79. data/app/assets/javascripts/media.js.coffee +3 -0
  80. data/app/assets/javascripts/rails.js +132 -0
  81. data/app/assets/miscellaneous/1leader.flv +0 -0
  82. data/app/assets/miscellaneous/users_controller.1.rb +237 -0
  83. data/app/assets/stylesheets/application.css +8 -0
  84. data/app/assets/stylesheets/application.css~ +8 -0
  85. data/app/assets/stylesheets/bolt/articles.css.scss +3 -0
  86. data/app/assets/stylesheets/bolt/groups.css.scss +3 -0
  87. data/app/assets/stylesheets/bolt/user_groups.css.scss +3 -0
  88. data/app/assets/stylesheets/bolt/users_groups.css.scss +3 -0
  89. data/app/assets/stylesheets/bubble.css +28 -0
  90. data/app/assets/stylesheets/depot.css +26 -0
  91. data/app/assets/stylesheets/depot.css~ +34 -0
  92. data/app/assets/stylesheets/dropdown.css +49 -0
  93. data/app/assets/stylesheets/imagebubbles.css~ +32 -0
  94. data/app/assets/stylesheets/jquery.treeview.css +68 -0
  95. data/app/assets/stylesheets/media.css.scss +3 -0
  96. data/app/assets/stylesheets/mediamanager.css +10 -0
  97. data/app/assets/stylesheets/scaffolds.css +56 -0
  98. data/app/assets/stylesheets/scaffolds.css.scss +56 -0
  99. data/app/assets/stylesheets/ui.dynatree.css +440 -0
  100. data/app/assets/stylesheets/users_style.css +80 -0
  101. data/app/assets/videos/1leader.flv +0 -0
  102. data/app/controllers/application_controller.rb +7 -0
  103. data/app/controllers/application_controller.rb~ +3 -0
  104. data/app/controllers/articles_controller.rb~ +91 -0
  105. data/app/controllers/bolt/accesses_controller.rb +71 -0
  106. data/app/controllers/bolt/articles_categories_controller.rb +71 -0
  107. data/app/controllers/bolt/articles_controller.rb +97 -0
  108. data/app/controllers/bolt/articles_controller.rb~ +60 -0
  109. data/app/controllers/bolt/banners_controller.rb +58 -0
  110. data/app/controllers/bolt/blogs_controller.rb +82 -0
  111. data/app/controllers/bolt/bolt_controller.rb +234 -0
  112. data/app/controllers/bolt/bolt_controller.rb~ +201 -0
  113. data/app/controllers/bolt/categories_controller.rb +72 -0
  114. data/app/controllers/bolt/dashboard_controller.rb +14 -0
  115. data/app/controllers/bolt/dashboard_controller.rb~ +14 -0
  116. data/app/controllers/bolt/groups_controller.rb +100 -0
  117. data/app/controllers/bolt/groups_controller.rb~ +85 -0
  118. data/app/controllers/bolt/info_controller.rb +26 -0
  119. data/app/controllers/bolt/media_controller.rb +120 -0
  120. data/app/controllers/bolt/page_sections_controller.rb +58 -0
  121. data/app/controllers/bolt/pages_controller.rb +90 -0
  122. data/app/controllers/bolt/password_resets_controller.rb +66 -0
  123. data/app/controllers/bolt/settings_controller.rb +59 -0
  124. data/app/controllers/bolt/statuses_controller.rb +72 -0
  125. data/app/controllers/bolt/user_sessions_controller.rb +40 -0
  126. data/app/controllers/bolt/user_statuses_controller.rb +58 -0
  127. data/app/controllers/bolt/users_controller.rb +104 -0
  128. data/app/controllers/bolt/users_controller.rb~ +79 -0
  129. data/app/controllers/bolt/users_groups_controller.rb +99 -0
  130. data/app/controllers/bolt/users_groups_controller.rb~ +83 -0
  131. data/app/controllers/groups_controller.rb~ +83 -0
  132. data/app/controllers/users_groups_controller.rb~ +83 -0
  133. data/app/helpers/application_helper.rb +2 -0
  134. data/app/helpers/bolt/articles_helper.rb +2 -0
  135. data/app/helpers/bolt/bolt_helper.rb +208 -0
  136. data/app/helpers/bolt/bolt_helper.rb~ +208 -0
  137. data/app/helpers/bolt/config_helper.rb +46 -0
  138. data/app/helpers/bolt/config_helper.rb~ +46 -0
  139. data/app/helpers/bolt/groups_helper.rb +2 -0
  140. data/app/helpers/bolt/user_groups_helper.rb +2 -0
  141. data/app/helpers/bolt/users_groups_helper.rb +2 -0
  142. data/app/helpers/media_helper.rb +2 -0
  143. data/app/mailers/bolt/backbone_notification.rb~ +39 -0
  144. data/app/mailers/bolt/bolt_notification.rb +39 -0
  145. data/app/models/access.rb +5 -0
  146. data/app/models/article.rb +23 -0
  147. data/app/models/article.rb~ +3 -0
  148. data/app/models/articles_category.rb +12 -0
  149. data/app/models/blog.rb +5 -0
  150. data/app/models/bolt.rb +3 -0
  151. data/app/models/bolt.rb~ +5 -0
  152. data/app/models/bolt/group.rb~ +2 -0
  153. data/app/models/bolt/user.rb +56 -0
  154. data/app/models/bolt/user.rb~ +62 -0
  155. data/app/models/bolt/user_group.rb~ +3 -0
  156. data/app/models/bolt/user_session.rb +8 -0
  157. data/app/models/bolt/users_group.rb~ +2 -0
  158. data/app/models/category.rb +7 -0
  159. data/app/models/group.rb +8 -0
  160. data/app/models/group.rb~ +7 -0
  161. data/app/models/media_image.rb +19 -0
  162. data/app/models/media_images.rb +21 -0
  163. data/app/models/media_images.rb~ +21 -0
  164. data/app/models/medium.rb +8 -0
  165. data/app/models/page.rb +10 -0
  166. data/app/models/page_section.rb +3 -0
  167. data/app/models/setting.rb +3 -0
  168. data/app/models/status.rb +3 -0
  169. data/app/models/user_status.rb +3 -0
  170. data/app/models/users_group.rb +14 -0
  171. data/app/models/users_group.rb~ +6 -0
  172. data/app/views/bolt/accesses/_form.html.erb +13 -0
  173. data/app/views/bolt/accesses/_table.html.erb +17 -0
  174. data/app/views/bolt/accesses/_title.html.erb +9 -0
  175. data/app/views/bolt/accesses/index.html.erb +44 -0
  176. data/app/views/bolt/accesses/new.html.erb +18 -0
  177. data/app/views/bolt/accesses/show.html.erb +17 -0
  178. data/app/views/bolt/articles/_form.html.erb +113 -0
  179. data/app/views/bolt/articles/_form.html.erb~ +33 -0
  180. data/app/views/bolt/articles/_table.html.erb +29 -0
  181. data/app/views/bolt/articles/_table.html.erb~ +28 -0
  182. data/app/views/bolt/articles/_title.html.erb +9 -0
  183. data/app/views/bolt/articles/index.html.erb +37 -0
  184. data/app/views/bolt/articles/index.html.erb~ +10 -0
  185. data/app/views/bolt/articles/new.html.erb +16 -0
  186. data/app/views/bolt/articles/new.html.erb~ +18 -0
  187. data/app/views/bolt/articles/show.html.erb +17 -0
  188. data/app/views/bolt/articles/show.html.erb~ +17 -0
  189. data/app/views/bolt/articles_categories/_form.html.erb +13 -0
  190. data/app/views/bolt/articles_categories/_table.html.erb +18 -0
  191. data/app/views/bolt/articles_categories/index.html.erb +10 -0
  192. data/app/views/bolt/articles_categories/new.html.erb +18 -0
  193. data/app/views/bolt/articles_categories/show.html.erb +17 -0
  194. data/app/views/bolt/banners/_form.html.erb +13 -0
  195. data/app/views/bolt/banners/_table.html.erb +18 -0
  196. data/app/views/bolt/banners/index.html.erb +10 -0
  197. data/app/views/bolt/banners/new.html.erb +18 -0
  198. data/app/views/bolt/banners/show.html.erb +17 -0
  199. data/app/views/bolt/blogs/_form.html.erb +24 -0
  200. data/app/views/bolt/blogs/_table.html.erb +22 -0
  201. data/app/views/bolt/blogs/index.html.erb +33 -0
  202. data/app/views/bolt/blogs/new.html.erb +18 -0
  203. data/app/views/bolt/blogs/show.html.erb +17 -0
  204. data/app/views/bolt/bolt/index.html.erb +0 -0
  205. data/app/views/bolt/bolt/index.html.erb~ +3 -0
  206. data/app/views/bolt/bolt_notification/generate_new_password.erb +12 -0
  207. data/app/views/bolt/bolt_notification/new_user_information.erb +12 -0
  208. data/app/views/bolt/bolt_notification/password_reset_instructions.erb +11 -0
  209. data/app/views/bolt/categories/_form.html.erb +9 -0
  210. data/app/views/bolt/categories/_table.html.erb +17 -0
  211. data/app/views/bolt/categories/_title.html.erb +8 -0
  212. data/app/views/bolt/categories/index.html.erb +36 -0
  213. data/app/views/bolt/categories/new.html.erb +19 -0
  214. data/app/views/bolt/categories/show.html.erb +17 -0
  215. data/app/views/bolt/dashboard/index.html.erb +69 -0
  216. data/app/views/bolt/dashboard/index.html.erb~ +1 -0
  217. data/app/views/bolt/groups/_form.html.erb +18 -0
  218. data/app/views/bolt/groups/_form.html.erb~ +21 -0
  219. data/app/views/bolt/groups/_title.html.erb +5 -0
  220. data/app/views/bolt/groups/edit.html.erb +6 -0
  221. data/app/views/bolt/groups/index.html.erb +43 -0
  222. data/app/views/bolt/groups/index.html.erb~ +23 -0
  223. data/app/views/bolt/groups/new.html.erb +14 -0
  224. data/app/views/bolt/groups/new.html.erb~ +5 -0
  225. data/app/views/bolt/groups/show.html.erb +16 -0
  226. data/app/views/bolt/info/show.html.erb +43 -0
  227. data/app/views/bolt/info/show.html.erb~ +5 -0
  228. data/app/views/bolt/layouts/_left_navigation.html.erb +9 -0
  229. data/app/views/bolt/layouts/_left_navigation.html.erb~ +16 -0
  230. data/app/views/bolt/layouts/_right_navigation.html.erb +1 -0
  231. data/app/views/bolt/layouts/_right_navigation.html.erb~ +1 -0
  232. data/app/views/bolt/layouts/bolt_auth.html.erb +23 -0
  233. data/app/views/bolt/layouts/bolt_auth.html.erb~ +23 -0
  234. data/app/views/bolt/layouts/bolt_main.html.erb +86 -0
  235. data/app/views/bolt/layouts/bolt_main.html.erb~ +64 -0
  236. data/app/views/bolt/media/getfolderdatas.html.erb +31 -0
  237. data/app/views/bolt/media/index.html.erb +195 -0
  238. data/app/views/bolt/page_sections/_form.html.erb +21 -0
  239. data/app/views/bolt/page_sections/_table.html.erb +22 -0
  240. data/app/views/bolt/page_sections/index.html.erb +10 -0
  241. data/app/views/bolt/page_sections/new.html.erb +18 -0
  242. data/app/views/bolt/page_sections/show.html.erb +17 -0
  243. data/app/views/bolt/pages/_form.html.erb +166 -0
  244. data/app/views/bolt/pages/_form.html.erb~ +41 -0
  245. data/app/views/bolt/pages/_page_sections_form.html.erb +39 -0
  246. data/app/views/bolt/pages/_page_sections_form.html.erb~ +3 -0
  247. data/app/views/bolt/pages/_table.html.erb +29 -0
  248. data/app/views/bolt/pages/index.html.erb +34 -0
  249. data/app/views/bolt/pages/new.html.erb +18 -0
  250. data/app/views/bolt/pages/show.html.erb +18 -0
  251. data/app/views/bolt/password_resets/edit.html.erb +48 -0
  252. data/app/views/bolt/settings/_form.html.erb +25 -0
  253. data/app/views/bolt/settings/_table.html.erb +23 -0
  254. data/app/views/bolt/settings/index.html.erb +10 -0
  255. data/app/views/bolt/settings/new.html.erb +18 -0
  256. data/app/views/bolt/settings/show.html.erb +80 -0
  257. data/app/views/bolt/statuses/_form.html.erb +14 -0
  258. data/app/views/bolt/statuses/_table.html.erb +17 -0
  259. data/app/views/bolt/statuses/_title.html.erb +9 -0
  260. data/app/views/bolt/statuses/index.html.erb +37 -0
  261. data/app/views/bolt/statuses/new.html.erb +18 -0
  262. data/app/views/bolt/statuses/show.html.erb +17 -0
  263. data/app/views/bolt/user_sessions/new.html.erb +66 -0
  264. data/app/views/bolt/user_sessions_bk/new.html.erb +69 -0
  265. data/app/views/bolt/user_statuses/_form.html.erb +9 -0
  266. data/app/views/bolt/user_statuses/_table.html.erb +16 -0
  267. data/app/views/bolt/user_statuses/index.html.erb +10 -0
  268. data/app/views/bolt/user_statuses/new.html.erb +18 -0
  269. data/app/views/bolt/user_statuses/show.html.erb +17 -0
  270. data/app/views/bolt/users/_title.html.erb +8 -0
  271. data/app/views/bolt/users/index.html.erb +60 -0
  272. data/app/views/bolt/users/index.html.erb~ +35 -0
  273. data/app/views/bolt/users/new.html.erb +64 -0
  274. data/app/views/bolt/users/new.html.erb~ +46 -0
  275. data/app/views/bolt/users/response.json.builder~ +26 -0
  276. data/app/views/bolt/users/show.html.erb +130 -0
  277. data/app/views/bolt/users/show.html.erb~ +94 -0
  278. data/app/views/bolt/users_bk/_form.html.erb +77 -0
  279. data/app/views/bolt/users_bk/edit.html.erb +6 -0
  280. data/app/views/bolt/users_bk/index.html.erb +58 -0
  281. data/app/views/bolt/users_bk/index.html.erb~ +60 -0
  282. data/app/views/bolt/users_bk/new.html.erb +6 -0
  283. data/app/views/bolt/users_bk/show.html.erb +100 -0
  284. data/app/views/bolt/users_groups/_form.html.erb +25 -0
  285. data/app/views/bolt/users_groups/edit.html.erb +6 -0
  286. data/app/views/bolt/users_groups/index.html.erb +25 -0
  287. data/app/views/bolt/users_groups/new.html.erb +5 -0
  288. data/app/views/bolt/users_groups/show.html.erb +15 -0
  289. data/app/views/layouts/application.html.erb +18 -0
  290. data/app/views/layouts/application.html.erb~ +51 -0
  291. data/app/views/layouts/bolt_auth.html.erb +24 -0
  292. data/app/views/layouts/bolt_auth.html.erb~ +25 -0
  293. data/app/views/layouts/bolt_main.html.erb +142 -0
  294. data/app/views/layouts/bolt_main.html.erb~ +56 -0
  295. data/app/views/layouts/default_site.html.erb +81 -0
  296. data/app/views/user_groups/_form.html.erb +21 -0
  297. data/app/views/user_groups/edit.html.erb +6 -0
  298. data/app/views/user_groups/index.html.erb +32 -0
  299. data/app/views/user_groups/new.html.erb +5 -0
  300. data/app/views/user_groups/show.html.erb +10 -0
  301. data/config/application.rb +49 -0
  302. data/config/application.rb~ +48 -0
  303. data/config/boot.rb +6 -0
  304. data/config/database.yml +31 -0
  305. data/config/database.yml~ +25 -0
  306. data/config/environment.rb +5 -0
  307. data/config/environments/development.rb +30 -0
  308. data/config/environments/production.rb +60 -0
  309. data/config/environments/test.rb +39 -0
  310. data/config/initializers/backtrace_silencers.rb +7 -0
  311. data/config/initializers/inflections.rb +10 -0
  312. data/config/initializers/mime_types.rb +5 -0
  313. data/config/initializers/secret_token.rb +7 -0
  314. data/config/initializers/session_store.rb +8 -0
  315. data/config/initializers/wrap_parameters.rb +14 -0
  316. data/config/locales/en.yml +5 -0
  317. data/config/routes.rb +101 -0
  318. data/config/routes.rb~ +81 -0
  319. data/db/migrate/20111028162853_create_bolt_users.rb +49 -0
  320. data/db/migrate/20111028162853_create_bolt_users.rb~ +49 -0
  321. data/db/migrate/20120302083233_create_articles.rb~ +15 -0
  322. data/db/migrate/20120307133203_create_groups.rb +10 -0
  323. data/db/migrate/20120307133203_create_groups.rb~ +9 -0
  324. data/db/migrate/20120308113354_create_users_groups.rb +10 -0
  325. data/db/migrate/20120308113354_create_users_groups.rb~ +10 -0
  326. data/db/migrate/20120309070442_create_articles.rb +18 -0
  327. data/db/migrate/20120312063336_create_blogs.rb +15 -0
  328. data/db/migrate/20120312071401_create_categories.rb +13 -0
  329. data/db/migrate/20120313051136_create_accesses.rb +13 -0
  330. data/db/migrate/20120313051206_create_statuses.rb +13 -0
  331. data/db/migrate/20120313061322_create_media.rb +18 -0
  332. data/db/migrate/20120313061459_create_media_images.rb +10 -0
  333. data/db/migrate/20120313085220_create_user_statuses.rb +13 -0
  334. data/db/migrate/20120314060252_create_articles_categories.rb +14 -0
  335. data/db/migrate/20120314110540_create_pages.rb +24 -0
  336. data/db/migrate/20120314110540_create_pages.rb~ +24 -0
  337. data/db/migrate/20120314110602_create_page_sections.rb +20 -0
  338. data/db/migrate/20120314110602_create_page_sections.rb~ +20 -0
  339. data/db/migrate/20120314110922_add_ancestry_to_page.rb +9 -0
  340. data/db/migrate/20120315071805_change_mediaimages_column.rb +8 -0
  341. data/db/migrate/20120319132523_create_settings.rb +18 -0
  342. data/db/schema.rb +169 -0
  343. data/db/seeds.rb +7 -0
  344. data/doc/README_FOR_APP +2 -0
  345. data/lib/tasks/tasks.rake +31 -0
  346. data/public/404.html +26 -0
  347. data/public/422.html +26 -0
  348. data/public/500.html +26 -0
  349. data/public/bolt/images/backbone.png +0 -0
  350. data/public/bolt/images/header.png +0 -0
  351. data/public/bolt/images/icons/add.png +0 -0
  352. data/public/bolt/images/icons/ajax-spinner.gif +0 -0
  353. data/public/bolt/images/icons/delete.png +0 -0
  354. data/public/bolt/images/icons/icons.gif +0 -0
  355. data/public/bolt/images/icons/loading.gif +0 -0
  356. data/public/bolt/images/icons/spinner-sm.gif +0 -0
  357. data/public/bolt/images/icons/spinner.png +0 -0
  358. data/public/bolt/images/icons/table.png +0 -0
  359. data/public/bolt/images/icons/vline.gif +0 -0
  360. data/public/bolt/images/login/bottom.png +0 -0
  361. data/public/bolt/images/login/top.png +0 -0
  362. data/public/bolt/images/nav.png +0 -0
  363. data/public/bolt/images/rightNav.png +0 -0
  364. data/public/bolt/images/rightNavButton.png +0 -0
  365. data/public/bolt/images/visitSiteNav.png +0 -0
  366. data/public/bolt/imagesx/backbone.png +0 -0
  367. data/public/bolt/imagesx/header.png +0 -0
  368. data/public/bolt/imagesx/icons/add.png +0 -0
  369. data/public/bolt/imagesx/icons/ajax-spinner.gif +0 -0
  370. data/public/bolt/imagesx/icons/delete.png +0 -0
  371. data/public/bolt/imagesx/icons/icons.gif +0 -0
  372. data/public/bolt/imagesx/icons/loading.gif +0 -0
  373. data/public/bolt/imagesx/icons/spinner-sm.gif +0 -0
  374. data/public/bolt/imagesx/icons/spinner.png +0 -0
  375. data/public/bolt/imagesx/icons/table.png +0 -0
  376. data/public/bolt/imagesx/icons/vline.gif +0 -0
  377. data/public/bolt/imagesx/login/bottom.png +0 -0
  378. data/public/bolt/imagesx/login/top.png +0 -0
  379. data/public/bolt/imagesx/nav.png +0 -0
  380. data/public/bolt/imagesx/rightNav.png +0 -0
  381. data/public/bolt/imagesx/rightNavButton.png +0 -0
  382. data/public/bolt/imagesx/visitSiteNav.png +0 -0
  383. data/public/bolt/javascripts/backbone.js +25 -0
  384. data/public/bolt/javascripts/custom.js +2 -0
  385. data/public/bolt/javascripts/jquery.js +154 -0
  386. data/public/bolt/javascripts/login.js +24 -0
  387. data/public/bolt/javascripts/rails.js +132 -0
  388. data/public/bolt/stylesheets/custom.css +82 -0
  389. data/public/bolt/stylesheets/custom.css~ +82 -0
  390. data/public/bolt/stylesheets/elements.css +316 -0
  391. data/public/bolt/stylesheets/elements.css~ +307 -0
  392. data/public/bolt/stylesheets/login.css +137 -0
  393. data/public/bolt/stylesheets/login.css~ +137 -0
  394. data/public/bolt/stylesheets/screen.css +224 -0
  395. data/public/bolt/stylesheets/screen.css~ +224 -0
  396. data/public/favicon.ico +0 -0
  397. data/public/images/article.png +0 -0
  398. data/public/images/backbone.png +0 -0
  399. data/public/images/cancel.png +0 -0
  400. data/public/images/cat.png +0 -0
  401. data/public/images/delete.png +0 -0
  402. data/public/images/edit.png +0 -0
  403. data/public/images/file.gif +0 -0
  404. data/public/images/folder-closed.gif +0 -0
  405. data/public/images/folder.gif +0 -0
  406. data/public/images/header.png +0 -0
  407. data/public/images/icons.gif +0 -0
  408. data/public/images/icons/add.png +0 -0
  409. data/public/images/icons/ajax-spinner.gif +0 -0
  410. data/public/images/icons/delete.png +0 -0
  411. data/public/images/icons/icons.gif +0 -0
  412. data/public/images/icons/loading.gif +0 -0
  413. data/public/images/icons/spinner-sm.gif +0 -0
  414. data/public/images/icons/spinner.png +0 -0
  415. data/public/images/icons/table.png +0 -0
  416. data/public/images/icons/vline.gif +0 -0
  417. data/public/images/ii.jpg +0 -0
  418. data/public/images/loading.gif +0 -0
  419. data/public/images/login/bottom.png +0 -0
  420. data/public/images/login/top.png +0 -0
  421. data/public/images/logo.png +0 -0
  422. data/public/images/logout.png +0 -0
  423. data/public/images/media.png +0 -0
  424. data/public/images/minus.gif +0 -0
  425. data/public/images/nav.png +0 -0
  426. data/public/images/new.png +0 -0
  427. data/public/images/plus.gif +0 -0
  428. data/public/images/profileimg.png +0 -0
  429. data/public/images/rails.png +0 -0
  430. data/public/images/rightNav.png +0 -0
  431. data/public/images/rightNavButton.png +0 -0
  432. data/public/images/treeview-black-line.gif +0 -0
  433. data/public/images/treeview-black.gif +0 -0
  434. data/public/images/treeview-default-line.gif +0 -0
  435. data/public/images/treeview-default.gif +0 -0
  436. data/public/images/treeview-famfamfam-line.gif +0 -0
  437. data/public/images/treeview-famfamfam.gif +0 -0
  438. data/public/images/treeview-gray-line.gif +0 -0
  439. data/public/images/treeview-gray.gif +0 -0
  440. data/public/images/treeview-red-line.gif +0 -0
  441. data/public/images/treeview-red.gif +0 -0
  442. data/public/images/ui.dynatree.css +440 -0
  443. data/public/images/user.png +0 -0
  444. data/public/images/user1.png +0 -0
  445. data/public/images/visitSiteNav.png +0 -0
  446. data/public/images/vline.gif +0 -0
  447. data/public/javascripts/backbone.js +25 -0
  448. data/public/javascripts/custom.js +2 -0
  449. data/public/javascripts/jquery.js +154 -0
  450. data/public/javascripts/login.js +24 -0
  451. data/public/javascripts/rails.js +132 -0
  452. data/public/jqueryui/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  453. data/public/jqueryui/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  454. data/public/jqueryui/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  455. data/public/jqueryui/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  456. data/public/jqueryui/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  457. data/public/jqueryui/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  458. data/public/jqueryui/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  459. data/public/jqueryui/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  460. data/public/jqueryui/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  461. data/public/jqueryui/css/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  462. data/public/jqueryui/css/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  463. data/public/jqueryui/css/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  464. data/public/jqueryui/css/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  465. data/public/jqueryui/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  466. data/public/jqueryui/css/ui-lightness/jquery-ui-1.8.18.custom.css +336 -0
  467. data/public/jqueryui/development-bundle/AUTHORS.txt +30 -0
  468. data/public/jqueryui/development-bundle/GPL-LICENSE.txt +278 -0
  469. data/public/jqueryui/development-bundle/MIT-LICENSE.txt +25 -0
  470. data/public/jqueryui/development-bundle/demos/demos.css +334 -0
  471. data/public/jqueryui/development-bundle/demos/dialog/animated.html +56 -0
  472. data/public/jqueryui/development-bundle/demos/dialog/default.html +54 -0
  473. data/public/jqueryui/development-bundle/demos/dialog/index.html +23 -0
  474. data/public/jqueryui/development-bundle/demos/dialog/modal-confirmation.html +69 -0
  475. data/public/jqueryui/development-bundle/demos/dialog/modal-form.html +167 -0
  476. data/public/jqueryui/development-bundle/demos/dialog/modal-message.html +71 -0
  477. data/public/jqueryui/development-bundle/demos/dialog/modal.html +60 -0
  478. data/public/jqueryui/development-bundle/demos/draggable/constrain-movement.html +69 -0
  479. data/public/jqueryui/development-bundle/demos/draggable/cursor-style.html +49 -0
  480. data/public/jqueryui/development-bundle/demos/draggable/default.html +39 -0
  481. data/public/jqueryui/development-bundle/demos/draggable/delay-start.html +45 -0
  482. data/public/jqueryui/development-bundle/demos/draggable/events.html +77 -0
  483. data/public/jqueryui/development-bundle/demos/draggable/handle.html +50 -0
  484. data/public/jqueryui/development-bundle/demos/draggable/index.html +28 -0
  485. data/public/jqueryui/development-bundle/demos/draggable/revert.html +44 -0
  486. data/public/jqueryui/development-bundle/demos/draggable/scroll.html +51 -0
  487. data/public/jqueryui/development-bundle/demos/draggable/snap-to.html +68 -0
  488. data/public/jqueryui/development-bundle/demos/draggable/sortable.html +57 -0
  489. data/public/jqueryui/development-bundle/demos/draggable/visual-feedback.html +77 -0
  490. data/public/jqueryui/development-bundle/demos/droppable/accepted-elements.html +60 -0
  491. data/public/jqueryui/development-bundle/demos/droppable/default.html +53 -0
  492. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras.jpg +0 -0
  493. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras2.jpg +0 -0
  494. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras2_min.jpg +0 -0
  495. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras3.jpg +0 -0
  496. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras3_min.jpg +0 -0
  497. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras4.jpg +0 -0
  498. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras4_min.jpg +0 -0
  499. data/public/jqueryui/development-bundle/demos/droppable/images/high_tatras_min.jpg +0 -0
  500. data/public/jqueryui/development-bundle/demos/droppable/index.html +24 -0
  501. data/public/jqueryui/development-bundle/demos/droppable/photo-manager.html +184 -0
  502. data/public/jqueryui/development-bundle/demos/droppable/propagation.html +80 -0
  503. data/public/jqueryui/development-bundle/demos/droppable/revert.html +61 -0
  504. data/public/jqueryui/development-bundle/demos/droppable/shopping-cart.html +101 -0
  505. data/public/jqueryui/development-bundle/demos/droppable/visual-feedback.html +78 -0
  506. data/public/jqueryui/development-bundle/demos/images/calendar.gif +0 -0
  507. data/public/jqueryui/development-bundle/demos/images/demo-config-on-tile.gif +0 -0
  508. data/public/jqueryui/development-bundle/demos/images/demo-config-on.gif +0 -0
  509. data/public/jqueryui/development-bundle/demos/images/demo-spindown-closed.gif +0 -0
  510. data/public/jqueryui/development-bundle/demos/images/demo-spindown-open.gif +0 -0
  511. data/public/jqueryui/development-bundle/demos/images/icon-docs-info.gif +0 -0
  512. data/public/jqueryui/development-bundle/demos/images/pbar-ani.gif +0 -0
  513. data/public/jqueryui/development-bundle/demos/index.html +328 -0
  514. data/public/jqueryui/development-bundle/demos/position/cycler.html +122 -0
  515. data/public/jqueryui/development-bundle/demos/position/default.html +153 -0
  516. data/public/jqueryui/development-bundle/demos/position/images/earth.jpg +0 -0
  517. data/public/jqueryui/development-bundle/demos/position/images/flight.jpg +0 -0
  518. data/public/jqueryui/development-bundle/demos/position/images/rocket.jpg +0 -0
  519. data/public/jqueryui/development-bundle/demos/position/index.html +19 -0
  520. data/public/jqueryui/development-bundle/demos/resizable/animate.html +43 -0
  521. data/public/jqueryui/development-bundle/demos/resizable/aspect-ratio.html +42 -0
  522. data/public/jqueryui/development-bundle/demos/resizable/constrain-area.html +47 -0
  523. data/public/jqueryui/development-bundle/demos/resizable/default.html +40 -0
  524. data/public/jqueryui/development-bundle/demos/resizable/delay-start.html +52 -0
  525. data/public/jqueryui/development-bundle/demos/resizable/helper.html +43 -0
  526. data/public/jqueryui/development-bundle/demos/resizable/index.html +28 -0
  527. data/public/jqueryui/development-bundle/demos/resizable/max-min.html +45 -0
  528. data/public/jqueryui/development-bundle/demos/resizable/snap-to-grid.html +42 -0
  529. data/public/jqueryui/development-bundle/demos/resizable/synchronous-resize.html +49 -0
  530. data/public/jqueryui/development-bundle/demos/resizable/textarea.html +41 -0
  531. data/public/jqueryui/development-bundle/demos/resizable/visual-feedback.html +43 -0
  532. data/public/jqueryui/development-bundle/demos/selectable/default.html +50 -0
  533. data/public/jqueryui/development-bundle/demos/selectable/display-grid.html +55 -0
  534. data/public/jqueryui/development-bundle/demos/selectable/index.html +20 -0
  535. data/public/jqueryui/development-bundle/demos/selectable/serialize.html +61 -0
  536. data/public/jqueryui/development-bundle/demos/sortable/connect-lists-through-tabs.html +78 -0
  537. data/public/jqueryui/development-bundle/demos/sortable/connect-lists.html +58 -0
  538. data/public/jqueryui/development-bundle/demos/sortable/default.html +51 -0
  539. data/public/jqueryui/development-bundle/demos/sortable/delay-start.html +67 -0
  540. data/public/jqueryui/development-bundle/demos/sortable/display-grid.html +54 -0
  541. data/public/jqueryui/development-bundle/demos/sortable/empty-lists.html +69 -0
  542. data/public/jqueryui/development-bundle/demos/sortable/index.html +26 -0
  543. data/public/jqueryui/development-bundle/demos/sortable/items.html +70 -0
  544. data/public/jqueryui/development-bundle/demos/sortable/placeholder.html +56 -0
  545. data/public/jqueryui/development-bundle/demos/sortable/portlets.html +96 -0
  546. data/public/jqueryui/development-bundle/docs/dialog.html +1698 -0
  547. data/public/jqueryui/development-bundle/docs/draggable.html +1577 -0
  548. data/public/jqueryui/development-bundle/docs/droppable.html +829 -0
  549. data/public/jqueryui/development-bundle/docs/position.html +245 -0
  550. data/public/jqueryui/development-bundle/docs/resizable.html +1201 -0
  551. data/public/jqueryui/development-bundle/docs/selectable.html +848 -0
  552. data/public/jqueryui/development-bundle/docs/sortable.html +1953 -0
  553. data/public/jqueryui/development-bundle/external/jquery.bgiframe-2.1.2.js +39 -0
  554. data/public/jqueryui/development-bundle/external/jquery.cookie.js +89 -0
  555. data/public/jqueryui/development-bundle/external/jquery.metadata.js +122 -0
  556. data/public/jqueryui/development-bundle/external/qunit.css +225 -0
  557. data/public/jqueryui/development-bundle/external/qunit.js +1448 -0
  558. data/public/jqueryui/development-bundle/jquery-1.7.1.js +9266 -0
  559. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  560. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  561. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  562. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  563. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  564. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  565. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  566. data/public/jqueryui/development-bundle/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  567. data/public/jqueryui/development-bundle/themes/base/images/ui-icons_222222_256x240.png +0 -0
  568. data/public/jqueryui/development-bundle/themes/base/images/ui-icons_2e83ff_256x240.png +0 -0
  569. data/public/jqueryui/development-bundle/themes/base/images/ui-icons_454545_256x240.png +0 -0
  570. data/public/jqueryui/development-bundle/themes/base/images/ui-icons_888888_256x240.png +0 -0
  571. data/public/jqueryui/development-bundle/themes/base/images/ui-icons_cd0a0a_256x240.png +0 -0
  572. data/public/jqueryui/development-bundle/themes/base/jquery.ui.all.css +11 -0
  573. data/public/jqueryui/development-bundle/themes/base/jquery.ui.base.css +4 -0
  574. data/public/jqueryui/development-bundle/themes/base/jquery.ui.core.css +38 -0
  575. data/public/jqueryui/development-bundle/themes/base/jquery.ui.dialog.css +21 -0
  576. data/public/jqueryui/development-bundle/themes/base/jquery.ui.resizable.css +20 -0
  577. data/public/jqueryui/development-bundle/themes/base/jquery.ui.selectable.css +10 -0
  578. data/public/jqueryui/development-bundle/themes/base/jquery.ui.theme.css +247 -0
  579. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  580. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  581. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  582. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  583. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  584. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  585. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  586. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  587. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  588. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  589. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  590. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  591. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  592. data/public/jqueryui/development-bundle/themes/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  593. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery-ui-1.8.18.custom.css +336 -0
  594. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery.ui.all.css +11 -0
  595. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery.ui.base.css +4 -0
  596. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery.ui.core.css +38 -0
  597. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery.ui.dialog.css +21 -0
  598. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery.ui.resizable.css +20 -0
  599. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery.ui.selectable.css +10 -0
  600. data/public/jqueryui/development-bundle/themes/ui-lightness/jquery.ui.theme.css +249 -0
  601. data/public/jqueryui/development-bundle/ui/jquery-ui-1.8.18.custom.js +5206 -0
  602. data/public/jqueryui/development-bundle/ui/jquery.ui.core.js +319 -0
  603. data/public/jqueryui/development-bundle/ui/jquery.ui.dialog.js +878 -0
  604. data/public/jqueryui/development-bundle/ui/jquery.ui.draggable.js +825 -0
  605. data/public/jqueryui/development-bundle/ui/jquery.ui.droppable.js +296 -0
  606. data/public/jqueryui/development-bundle/ui/jquery.ui.mouse.js +162 -0
  607. data/public/jqueryui/development-bundle/ui/jquery.ui.position.js +298 -0
  608. data/public/jqueryui/development-bundle/ui/jquery.ui.resizable.js +808 -0
  609. data/public/jqueryui/development-bundle/ui/jquery.ui.selectable.js +267 -0
  610. data/public/jqueryui/development-bundle/ui/jquery.ui.sortable.js +1081 -0
  611. data/public/jqueryui/development-bundle/ui/jquery.ui.widget.js +272 -0
  612. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.core.min.js +9 -0
  613. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.dialog.min.js +18 -0
  614. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.draggable.min.js +14 -0
  615. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.droppable.min.js +15 -0
  616. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.mouse.min.js +12 -0
  617. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.position.min.js +9 -0
  618. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.resizable.min.js +14 -0
  619. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.selectable.min.js +14 -0
  620. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.sortable.min.js +14 -0
  621. data/public/jqueryui/development-bundle/ui/minified/jquery.ui.widget.min.js +9 -0
  622. data/public/jqueryui/development-bundle/version.txt +1 -0
  623. data/public/jqueryui/js/jquery-1.7.1.min.js +4 -0
  624. data/public/jqueryui/js/jquery-ui-1.8.18.custom.min.js +119 -0
  625. data/public/robots.txt +5 -0
  626. data/public/stylesheets/custom.css +91 -0
  627. data/public/stylesheets/custom.css~ +82 -0
  628. data/public/stylesheets/elements.css +315 -0
  629. data/public/stylesheets/elements.css~ +307 -0
  630. data/public/stylesheets/login.css +137 -0
  631. data/public/stylesheets/login.css~ +137 -0
  632. data/public/stylesheets/screen.css +224 -0
  633. data/public/stylesheets/screen.css~ +224 -0
  634. data/script/rails +6 -0
  635. data/test/fixtures/bolt/groups.yml +7 -0
  636. data/test/fixtures/bolt/users_groups.yml +9 -0
  637. data/test/fixtures/media.yml +13 -0
  638. data/test/fixtures/media_images.yml +9 -0
  639. data/test/functional/bolt/groups_controller_test.rb +49 -0
  640. data/test/functional/bolt/users_groups_controller_test.rb +49 -0
  641. data/test/functional/media_controller_test.rb +49 -0
  642. data/test/performance/browsing_test.rb +12 -0
  643. data/test/test_helper.rb +13 -0
  644. data/test/unit/bolt/group_test.rb +7 -0
  645. data/test/unit/bolt/users_group_test.rb +7 -0
  646. data/test/unit/helpers/bolt/groups_helper_test.rb +4 -0
  647. data/test/unit/helpers/bolt/users_groups_helper_test.rb +4 -0
  648. data/test/unit/helpers/media_helper_test.rb +4 -0
  649. data/test/unit/media_images_test.rb +7 -0
  650. data/test/unit/medium_test.rb +7 -0
  651. metadata +716 -0
@@ -0,0 +1,58 @@
1
+ module Bolt
2
+ class BannersController < Bolt::BoltController
3
+
4
+ ## optional filters for defining usage according to Bolt::Users access_levels
5
+ # before_filter :needs_admin, :except => [:action1, :action2]
6
+ # before_filter :needs_admin_or_current_user, :only => [:action1, :action2]
7
+
8
+ def index
9
+ @bolt_page_title = 'Banners'
10
+ @banners = Banner.paginate :page => params[:page]
11
+ end
12
+
13
+ def show
14
+ @bolt_page_title = 'View banner'
15
+ @banner = Banner.find params[:id]
16
+ end
17
+
18
+ def new
19
+ @bolt_page_title = 'Add a new banner'
20
+ @banner = Banner.new
21
+ end
22
+
23
+ def create
24
+ @banner = Banner.new params[:banner]
25
+
26
+ if @banner.save
27
+ flash[:notice] = 'Banner created'
28
+ redirect_to bolt_banners_path
29
+ else
30
+ flash.now[:warning] = 'There were problems when trying to create a new banner'
31
+ render :action => :new
32
+ end
33
+ end
34
+
35
+ def update
36
+ @bolt_page_title = 'Update banner'
37
+
38
+ @banner = Banner.find params[:id]
39
+
40
+ if @banner.update_attributes params[:banner]
41
+ flash[:notice] = 'Banner has been updated'
42
+ redirect_to bolt_banners_path
43
+ else
44
+ flash.now[:warning] = 'There were problems when trying to update this banner'
45
+ render :action => :show
46
+ end
47
+ end
48
+
49
+ def destroy
50
+ @banner = Banner.find params[:id]
51
+
52
+ @banner.destroy
53
+ flash[:notice] = 'Banner has been deleted'
54
+ redirect_to bolt_banners_path
55
+ end
56
+
57
+ end
58
+ end
@@ -0,0 +1,82 @@
1
+ module Bolt
2
+ class BlogsController < Bolt::BoltController
3
+
4
+ ## optional filters for defining usage according to Bolt::Users access_levels
5
+ # before_filter :needs_admin, :except => [:action1, :action2]
6
+ # before_filter :needs_admin_or_current_user, :only => [:action1, :action2]
7
+
8
+ def index
9
+
10
+ sortcolumn=(params[:sort]==nil)? ' ' : params[:sort]
11
+ @bolt_blogs = Blog.find(:all, :order => sortcolumn)
12
+
13
+
14
+ @bolt_page_title = 'Blogs'
15
+ @blogs = Blog.paginate :page => params[:page]
16
+ end
17
+
18
+ def show
19
+ @bolt_page_title = 'View blog'
20
+ @blog = Blog.find params[:id]
21
+ end
22
+
23
+ def new
24
+ @bolt_page_title = 'Add a new blog'
25
+ @blog = Blog.new
26
+ end
27
+
28
+ def create
29
+ @blog = Blog.new params[:blog]
30
+
31
+ if @blog.save
32
+ flash[:notice] = 'Blog created'
33
+ redirect_to bolt_blogs_path
34
+ else
35
+ flash.now[:warning] = 'Title can not be blank!'
36
+ render :action => :new
37
+ end
38
+ end
39
+
40
+ def update
41
+ @bolt_page_title = 'Update blog'
42
+
43
+ @blog = Blog.find params[:id]
44
+
45
+ if @blog.update_attributes params[:blog]
46
+ flash[:notice] = 'Blog has been updated'
47
+ redirect_to bolt_blogs_path
48
+ else
49
+ flash.now[:warning] = 'Title can not be blank!'
50
+ render :action => :show
51
+ end
52
+ end
53
+
54
+ def destroy
55
+ @blog = Blog.find params[:id]
56
+
57
+ @blog.destroy
58
+ flash[:notice] = 'Blog has been deleted'
59
+ redirect_to bolt_blogs_path
60
+ end
61
+ def destroy
62
+ @blog = Blog.find params[:id]
63
+
64
+ @blog.destroy
65
+ flash[:notice] = 'Blog has been deleted'
66
+ redirect_to :back
67
+ end
68
+ def destroy_multiple
69
+ ids= params[:id]
70
+ idarr=ids.split(',')
71
+ idarr.each do |del|
72
+ @blog = Blog.find(del)
73
+ @blog.destroy
74
+ end
75
+ respond_to do |format|
76
+ format.html { redirect_to :back }
77
+ # format.json { head :ok }
78
+ end
79
+ end
80
+
81
+ end
82
+ end
@@ -0,0 +1,234 @@
1
+ require 'authlogic'
2
+
3
+ module Bolt
4
+ class BoltController < ApplicationController
5
+
6
+ unloadable
7
+
8
+ require 'bolt/bolt_helper'
9
+ include Bolt::BoltHelper
10
+
11
+ require 'bolt/config_helper'
12
+ include Bolt::ConfigHelper
13
+ include Paperclip::Storage::S3
14
+
15
+ layout 'bolt_main'
16
+
17
+ helper_method :current_user_session, :current_user
18
+
19
+ #Authorize the user for all his actions except on new and create actions of users controller as users can be created without having to login
20
+ before_filter :authorise, :if => Proc.new{|controller| controller_name != "info"}
21
+
22
+
23
+ #Check if the device is valid for all the api requests
24
+ before_filter :is_device_valid?, :if => Proc.new {|c|
25
+ request.format == Mime::JSON
26
+ }
27
+
28
+ before_filter :set_time_zone
29
+ #before_filter :is_permitted?
30
+
31
+ ActionView::Base.field_error_proc = proc { |input, instance| "<span class='formError'>#{input}</span>".html_safe }
32
+
33
+ def index
34
+ redirect_to bolt_config_dashboard_url
35
+ end
36
+
37
+ def blank
38
+ @bolt_page_title = "Welcome"
39
+ end
40
+
41
+ private
42
+
43
+ def connect_to_s3
44
+ AWS::S3::Base.establish_connection!(parse_credentials(YAML.load("#{Rails.root}/config/s3.yml")))
45
+ end
46
+
47
+ def redirect_to_https
48
+ redirect_to :protocol => "https://" unless request.ssl?
49
+ return true
50
+ end
51
+
52
+ def authorise
53
+ unless current_user
54
+ respond_to do |format|
55
+ format.html {
56
+ session[:return_to] = request.fullpath
57
+ redirect_to new_bolt_user_session_url
58
+ return false
59
+ }
60
+
61
+ format.json {
62
+ return render :json => {:success => false, :responsecode => 1, :message => "Please log in to access the requested resource."}
63
+ }
64
+ end
65
+ end
66
+ end
67
+
68
+ def set_time_zone
69
+ Time.zone = current_user.time_zone if current_user
70
+ end
71
+
72
+ def current_user_session
73
+ return @current_user_session if defined?(@current_user_session)
74
+ @current_user_session = Bolt::UserSession.find
75
+ end
76
+
77
+ def current_user
78
+ return @session_user if defined?(@session_user)
79
+ @session_user = current_user_session && current_user_session.user
80
+ end
81
+
82
+ def needs_admin
83
+ unless @session_user.is_admin?
84
+ respond_to do |format|
85
+ format.html {
86
+ redirect_to :controller => :bolt, :action => :index
87
+ }
88
+ format.json {
89
+ render :json => {:success => false, :response_code => 1, :messsage => "You are not authorized."}
90
+ }
91
+ end
92
+ else
93
+ redirect_to new_bolt_user_session_url
94
+ end
95
+ end
96
+
97
+ def needs_admin_or_current_user
98
+ unless @session_user.is_admin? || params[:id].to_i == @session_user.id
99
+ respond_to do |format|
100
+ format.html {
101
+ redirect_to :controller => :bolt, :action => :index
102
+ }
103
+ format.json {
104
+ render :json => {:success => false, :response_code => 1, :messsage => "You are not authorized."}
105
+ }
106
+
107
+ end
108
+ end
109
+ end
110
+
111
+ def redirect_back_or_default(default)
112
+ redirect_to(session[:return_to] || default)
113
+ session[:return_to] = nil
114
+ end
115
+
116
+ #Used only for api requests. If the device is invalid it should render json with an appropriate message.
117
+ def is_device_valid?
118
+ success = true
119
+ error_message = ""
120
+ current_device = Device.find_by_udid(params[:udid])
121
+ devices = Device.where(:udid => params[:udid])
122
+ if current_device
123
+ if current_device.disabled
124
+ error_message = "Your device has been disabled. Please contact support."
125
+ success = false
126
+ end
127
+ elsif(!Util.none(devices))
128
+ error_message = "Your device is not registered."
129
+ success = false
130
+ end
131
+
132
+ if(!success)
133
+ return render :status => 200, :json => "{\"responsecode\": 1, \"responseMessage\": \"#{error_message}\"}"
134
+ end
135
+ end
136
+
137
+ def process_device(devices, udid)
138
+ is_current_device_owned = false
139
+ if(!current_user.nil?)
140
+ if(Util.none(current_user.devices))
141
+ current_user.devices.each do |device|
142
+ is_current_device_owned = true if(udid == device.udid)
143
+ return true if(is_current_device_owned)
144
+ end
145
+ if(current_user.devices.size >= $MAX_DEVICES_PER_USER && !is_current_device_owned)
146
+
147
+ render :json => {:success => false, :responsecode => 1, :message => "You have exceeded the maximum number of devices you can log in from. Please select one of the devices you currently own." }
148
+ return false
149
+ end
150
+ end
151
+ if(!is_current_device_owned)
152
+ unassociated_device = nil
153
+ device_associated_with_other_user = nil
154
+ if(Util.none(devices))
155
+ devices.each do |device|
156
+ unassociated_device = device if(device.user_id.nil?)
157
+ device_associated_with_other_user = device if(!device.user_id.nil? && device.user_id != current_user.id)
158
+ end
159
+ end
160
+
161
+ if(!unassociated_device.nil?)
162
+ unassociated_device.user_id = current_user.id
163
+ unassociated_device.save
164
+ return true
165
+ elsif(!device_associated_with_other_user.nil?)
166
+ new_device = device_associated_with_other_user.dup
167
+ new_device.user_id = current_user.id
168
+ new_device.save()
169
+ return true
170
+ else
171
+ render :status => 200, :json => "{\"responsecode\": 1, \"responseMessage\": \"No devices found\"}"
172
+ return false
173
+ end
174
+ end
175
+ else
176
+ if(!Util.none(device))
177
+ render :status => 200, :json => "{\"responsecode\": 1, \"responseMessage\": \"No devices found\"}"
178
+ return false
179
+ end
180
+ end
181
+ return true
182
+ end
183
+
184
+ def is_permitted?
185
+ unless current_user.nil?
186
+ if(!current_user.is_admin?)
187
+ if(current_user.is_ignored?)
188
+ render(:text => "You cant access this resource.")
189
+ return
190
+ end
191
+ if(request.format == Mime::JSON)
192
+ if(current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_API_AND_CMS && current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_API)
193
+ render :text => "Permission denied"
194
+ end
195
+ elsif(request.format == Mime::HTML)
196
+ if(current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_API_AND_CMS && current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_CMS)
197
+ render :text => "Permission denied"
198
+ end
199
+ end
200
+ end
201
+ end
202
+ end
203
+
204
+ def create_directory(dirname)
205
+ Dir.mkdir(dirname)
206
+ end
207
+
208
+ def remove_directory(dirname)
209
+ if(Dir["#{dirname}/*"].empty?)
210
+ Dir.rmdir("#{dirname}")
211
+ else
212
+ FileUtils.rm_rf("#{dirname}/.")
213
+ Dir.delete("#{dirname}")
214
+ end
215
+ end
216
+
217
+ def remove_file(file_path)
218
+ if(File.exist?(file_path))
219
+ File.unlink(file_path)
220
+ end
221
+ end
222
+
223
+ helper_method :format_url_id
224
+ def format_url_id(id)
225
+ id.gsub(" ", "-")
226
+ end
227
+
228
+ def deformat_url_id(id)
229
+ id.gsub("-", " ")
230
+ end
231
+
232
+
233
+ end
234
+ end
@@ -0,0 +1,201 @@
1
+ require 'authlogic'
2
+
3
+ module Bolt
4
+ class BoltController < ApplicationController
5
+
6
+ unloadable
7
+
8
+ require 'bolt/bolt_helper'
9
+ include Bolt::BoltHelper
10
+
11
+ require 'bolt/config_helper'
12
+ include Bolt::ConfigHelper
13
+ include Paperclip::Storage::S3
14
+
15
+ layout 'bolt_main'
16
+
17
+ helper_method :current_user_session, :current_user
18
+
19
+ #Authorize the user for all his actions except on new and create actions of users controller as users can be created without having to login
20
+ before_filter :authorise, :if => Proc.new {|c| controller_name != "users" && (action_name != "new" || action_name != "create" || action_name != "reset_password")}
21
+
22
+ #Check if the device is valid for all the api requests
23
+ before_filter :is_device_valid?, :if => Proc.new {|c|
24
+ request.format == Mime::JSON
25
+ }
26
+
27
+ before_filter :set_time_zone
28
+ before_filter :is_permitted?
29
+
30
+ ActionView::Base.field_error_proc = proc { |input, instance| "<span class='formError'>#{input}</span>".html_safe }
31
+
32
+ def index
33
+ redirect_to bolt_config_dashboard_url
34
+ end
35
+
36
+ def blank
37
+ @bolt_page_title = "Welcome"
38
+ end
39
+
40
+ private
41
+
42
+ def connect_to_s3
43
+ AWS::S3::Base.establish_connection!(parse_credentials(YAML.load("#{Rails.root}/config/s3.yml")))
44
+ end
45
+
46
+ def redirect_to_https
47
+ redirect_to :protocol => "https://" unless request.ssl?
48
+ return true
49
+ end
50
+
51
+ def authorise
52
+ unless current_user
53
+ respond_to do |format|
54
+ format.html {
55
+ session[:return_to] = request.fullpath
56
+ redirect_to new_bolt_user_session_url
57
+ return false
58
+ }
59
+
60
+ format.json {
61
+ return render :json => {:success => false, :responsecode => 1, :message => "Please log in to access the requested resource."}
62
+ }
63
+ end
64
+ end
65
+ end
66
+
67
+ def set_time_zone
68
+ Time.zone = current_user.time_zone if current_user
69
+ end
70
+
71
+ def current_user_session
72
+ return @current_user_session if defined?(@current_user_session)
73
+ @current_user_session = Bolt::UserSession.find
74
+ end
75
+
76
+ def current_user
77
+ return @session_user if defined?(@session_user)
78
+ @session_user = current_user_session && current_user_session.user
79
+ end
80
+
81
+ def needs_admin
82
+ unless @session_user.is_admin?
83
+ respond_to do |format|
84
+ format.html {
85
+ redirect_to :controller => :bolt, :action => :index
86
+ }
87
+ format.json {
88
+ render :json => {:success => false, :response_code => 1, :messsage => "You are not authorized."}
89
+ }
90
+ end
91
+ end
92
+ end
93
+
94
+ def needs_admin_or_current_user
95
+ unless @session_user.is_admin? || params[:id].to_i == @session_user.id
96
+ respond_to do |format|
97
+ format.html {
98
+ redirect_to :controller => :bolt, :action => :index
99
+ }
100
+ format.json {
101
+ render :json => {:success => false, :response_code => 1, :messsage => "You are not authorized."}
102
+ }
103
+
104
+ end
105
+ end
106
+ end
107
+
108
+ def redirect_back_or_default(default)
109
+ redirect_to(session[:return_to] || default)
110
+ session[:return_to] = nil
111
+ end
112
+
113
+ #Used only for api requests. If the device is invalid it should render json with an appropriate message.
114
+ def is_device_valid?
115
+ success = true
116
+ error_message = ""
117
+ current_device = Device.find_by_udid(params[:udid])
118
+ devices = Device.where(:udid => params[:udid])
119
+ if current_device
120
+ if current_device.disabled
121
+ error_message = "Your device has been disabled. Please contact support."
122
+ success = false
123
+ end
124
+ elsif(!Util.none(devices))
125
+ error_message = "Your device is not registered."
126
+ success = false
127
+ end
128
+
129
+ if(!success)
130
+ return render :status => 200, :json => "{\"responsecode\": 1, \"responseMessage\": \"#{error_message}\"}"
131
+ end
132
+ end
133
+
134
+ def process_device(devices, udid)
135
+ is_current_device_owned = false
136
+ if(!current_user.nil?)
137
+ if(Util.none(current_user.devices))
138
+ current_user.devices.each do |device|
139
+ is_current_device_owned = true if(udid == device.udid)
140
+ return true if(is_current_device_owned)
141
+ end
142
+ if(current_user.devices.size >= $MAX_DEVICES_PER_USER && !is_current_device_owned)
143
+
144
+ render :json => {:success => false, :responsecode => 1, :message => "You have exceeded the maximum number of devices you can log in from. Please select one of the devices you currently own." }
145
+ return false
146
+ end
147
+ end
148
+ if(!is_current_device_owned)
149
+ unassociated_device = nil
150
+ device_associated_with_other_user = nil
151
+ if(Util.none(devices))
152
+ devices.each do |device|
153
+ unassociated_device = device if(device.user_id.nil?)
154
+ device_associated_with_other_user = device if(!device.user_id.nil? && device.user_id != current_user.id)
155
+ end
156
+ end
157
+
158
+ if(!unassociated_device.nil?)
159
+ unassociated_device.user_id = current_user.id
160
+ unassociated_device.save
161
+ return true
162
+ elsif(!device_associated_with_other_user.nil?)
163
+ new_device = device_associated_with_other_user.dup
164
+ new_device.user_id = current_user.id
165
+ new_device.save()
166
+ return true
167
+ else
168
+ render :status => 200, :json => "{\"responsecode\": 1, \"responseMessage\": \"No devices found\"}"
169
+ return false
170
+ end
171
+ end
172
+ else
173
+ if(!Util.none(device))
174
+ render :status => 200, :json => "{\"responsecode\": 1, \"responseMessage\": \"No devices found\"}"
175
+ return false
176
+ end
177
+ end
178
+ return true
179
+ end
180
+
181
+ def is_permitted?
182
+ unless current_user.nil?
183
+ if(!current_user.is_admin?)
184
+ if(current_user.is_ignored?)
185
+ render(:text => "You cant access this resource.")
186
+ return
187
+ end
188
+ if(request.format == Mime::JSON)
189
+ if(current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_API_AND_CMS && current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_API)
190
+ render :text => "Permission denied"
191
+ end
192
+ elsif(request.format == Mime::HTML)
193
+ if(current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_API_AND_CMS && current_user.access_level != $BOLT_USER_ACCESS_LEVEL_TO_CMS)
194
+ render :text => "Permission denied"
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end
201
+ end