hurry 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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