rails_filemanager_ajax 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/javascripts/rails_filemanager/application.js +18 -0
  5. data/app/assets/javascripts/rails_filemanager/filemanager_files.js +96 -0
  6. data/app/assets/stylesheets/rails_filemanager/application.css +17 -0
  7. data/app/assets/stylesheets/rails_filemanager/filemanager_files.css.scss +43 -0
  8. data/app/assets/stylesheets/scaffold.css +56 -0
  9. data/app/controllers/rails_filemanager/application_controller.rb +2 -0
  10. data/app/controllers/rails_filemanager/filemanager_files_controller.rb +101 -0
  11. data/app/helpers/rails_filemanager/application_helper.rb +4 -0
  12. data/app/helpers/rails_filemanager/filemanager_files_helper.rb +4 -0
  13. data/app/models/rails_filemanager/filemanager_file.rb +49 -0
  14. data/app/views/layouts/rails_filemanager/_shim.html.haml +2 -0
  15. data/app/views/layouts/rails_filemanager/application.html.haml +15 -0
  16. data/app/views/rails_filemanager/filemanager_files/create.html.haml +0 -0
  17. data/app/views/rails_filemanager/filemanager_files/index.html.haml +278 -0
  18. data/config/routes.rb +9 -0
  19. data/db/migrate/20140728234034_create_rails_filemanager_filemanager_files.rb +11 -0
  20. data/db/migrate/20140728234043_add_attachment_file_to_filemanager_files.rb +10 -0
  21. data/db/migrate/20140729004353_add_ancestry_to_rails_filemanager_filemanager_files.rb +6 -0
  22. data/db/migrate/20140729130927_add_owner_class_to_filemanager_files.rb +5 -0
  23. data/lib/rails_filemanager/acts_as_filemanager_owner.rb +29 -0
  24. data/lib/rails_filemanager/engine.rb +5 -0
  25. data/lib/rails_filemanager/version.rb +3 -0
  26. data/lib/rails_filemanager.rb +5 -0
  27. data/lib/tasks/rails_filemanager_tasks.rake +4 -0
  28. data/test/controllers/rails_filemanager/filemanager_files_controller_test.rb +51 -0
  29. data/test/dummy/README.rdoc +28 -0
  30. data/test/dummy/Rakefile +6 -0
  31. data/test/dummy/app/assets/javascripts/application.js +13 -0
  32. data/test/dummy/app/assets/javascripts/owners.js +2 -0
  33. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  34. data/test/dummy/app/assets/stylesheets/owners.css.scss +3 -0
  35. data/test/dummy/app/assets/stylesheets/scaffolds.css.scss +69 -0
  36. data/test/dummy/app/controllers/application_controller.rb +16 -0
  37. data/test/dummy/app/controllers/owners_controller.rb +59 -0
  38. data/test/dummy/app/helpers/application_helper.rb +2 -0
  39. data/test/dummy/app/helpers/owners_helper.rb +6 -0
  40. data/test/dummy/app/models/owner.rb +14 -0
  41. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  42. data/test/dummy/app/views/owners/_form.html.haml +16 -0
  43. data/test/dummy/app/views/owners/edit.html.haml +7 -0
  44. data/test/dummy/app/views/owners/index.html.haml +21 -0
  45. data/test/dummy/app/views/owners/new.html.haml +5 -0
  46. data/test/dummy/app/views/owners/show.html.haml +12 -0
  47. data/test/dummy/bin/bundle +3 -0
  48. data/test/dummy/bin/rails +4 -0
  49. data/test/dummy/bin/rake +4 -0
  50. data/test/dummy/config/application.rb +23 -0
  51. data/test/dummy/config/boot.rb +5 -0
  52. data/test/dummy/config/database.yml +25 -0
  53. data/test/dummy/config/environment.rb +5 -0
  54. data/test/dummy/config/environments/development.rb +37 -0
  55. data/test/dummy/config/environments/production.rb +82 -0
  56. data/test/dummy/config/environments/test.rb +39 -0
  57. data/test/dummy/config/initializers/assets.rb +8 -0
  58. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  59. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  60. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  61. data/test/dummy/config/initializers/inflections.rb +16 -0
  62. data/test/dummy/config/initializers/mime_types.rb +4 -0
  63. data/test/dummy/config/initializers/session_store.rb +3 -0
  64. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  65. data/test/dummy/config/locales/en.yml +23 -0
  66. data/test/dummy/config/routes.rb +8 -0
  67. data/test/dummy/config/secrets.yml +22 -0
  68. data/test/dummy/config.ru +4 -0
  69. data/test/dummy/db/development.sqlite3 +0 -0
  70. data/test/dummy/db/migrate/20140729100443_create_owners.rb +10 -0
  71. data/test/dummy/db/schema.rb +39 -0
  72. data/test/dummy/log/development.log +10747 -0
  73. data/test/dummy/public/404.html +67 -0
  74. data/test/dummy/public/422.html +67 -0
  75. data/test/dummy/public/500.html +66 -0
  76. data/test/dummy/public/favicon.ico +0 -0
  77. data/test/dummy/public/system/rails_filemanager/filemanager_files/files/000/000/003/original/Citra_Tagore.jpg +0 -0
  78. data/test/dummy/test/controllers/owners_controller_test.rb +49 -0
  79. data/test/dummy/test/fixtures/owners.yml +9 -0
  80. data/test/dummy/test/helpers/owners_helper_test.rb +4 -0
  81. data/test/dummy/test/models/owner_test.rb +7 -0
  82. data/test/dummy/tmp/cache/assets/development/sass/06e8abb566c8fb8f4c0c0768e4e7dfb0a44c8302/jquery.fileupload-ui.scssc +0 -0
  83. data/test/dummy/tmp/cache/assets/development/sass/269b2c30a13278c2daa25f9f9518d279ebd0daa3/owners.css.scssc +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sass/269b2c30a13278c2daa25f9f9518d279ebd0daa3/scaffolds.css.scssc +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sass/2ac1e0396a671536e7123f5102abcb4f3c5057c3/filemanager_files.css.scssc +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_alerts.scssc +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_badges.scssc +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_breadcrumbs.scssc +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_button-groups.scssc +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_buttons.scssc +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_carousel.scssc +0 -0
  92. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_close.scssc +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_code.scssc +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_component-animations.scssc +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_dropdowns.scssc +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_forms.scssc +999 -0
  97. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_glyphicons.scssc +1544 -0
  98. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_grid.scssc +0 -0
  99. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_input-groups.scssc +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_jumbotron.scssc +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_labels.scssc +0 -0
  102. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_list-group.scssc +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_media.scssc +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_mixins.scssc +2350 -1
  105. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_modals.scssc +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_navbar.scssc +1507 -0
  107. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_navs.scssc +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_normalize.scssc +0 -0
  109. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_pager.scssc +0 -0
  110. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_pagination.scssc +0 -0
  111. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_panels.scssc +0 -0
  112. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_popovers.scssc +0 -0
  113. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_print.scssc +0 -0
  114. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_progress-bars.scssc +0 -0
  115. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_responsive-utilities.scssc +0 -0
  116. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_scaffolding.scssc +0 -0
  117. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_tables.scssc +0 -0
  118. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_thumbnails.scssc +0 -0
  119. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_tooltip.scssc +0 -0
  120. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_type.scssc +0 -0
  121. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_utilities.scssc +0 -0
  122. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_variables.scssc +1754 -0
  123. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/_wells.scssc +0 -0
  124. data/test/dummy/tmp/cache/assets/development/sass/eb1f508fda6dcee8da4ee52d12c9e3ecccd40b0b/bootstrap.scssc +0 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/05547b4dc4ac7167699e3c6ca1748408 +0 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/07615433030e8d9f7593c93dbfe042c9 +0 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/08a41aa113973efd2391ba42e0acf7d9 +0 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/0951b5f5a201611bebd9e47370368955 +0 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/09fcdef5c72bfbe4895d5fa06342e2a5 +0 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/0c9c91cb1d75d7b309f8a8b8819b47ce +0 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/0f24e96ed9b11de75fcba57bb32c5a4a +0 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/1176716ec61359bf55e221898e16af24 +0 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/1b4d0915392c39858de432dede9b911e +0 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/1bb60499f6e601c607f0aefd0512bbf3 +0 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/1c0b94c54f2b4195d78f2056dcf4de64 +0 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/1c847a043caf7bc59eb29d82288a9dfe +0 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/1e08eaa800f7c76b6743a5e6de03cfae +0 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/1e882c8e5f9215c624d4ae128d8c33be +0 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/24ff59eb269225193ed0ac0970e09cfe +0 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/2733ac7c7b19cc50e6cec540faa008dc +0 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/2787468132f9e1a06bb3e83b2394a13e +0 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/2ac23630ddf03b4814b6919cd330bf61 +0 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/2bffc9ef51c9c7032280ef8da250edec +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/2dbf869c27d4392ca3ed506bdf1e59e7 +0 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/2f8112713eb17105b86642c9ded32188 +0 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/2fc56d260056e14107a4fc8c03649f5d +0 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/376ad072d3b7a5152c6884bdd9f5f666 +0 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/390df4eaa4222ad1c92f96e14388e543 +0 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/3b53c140931ae99abe578dcf415a1429 +0 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/3d9b9056f45a21e2776ebaff1864f95e +0 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/3e3114305e5162bbbbbc293bb5b429ff +0 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/3f06720c4f55355e321def410b113ba2 +0 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/414350bad002246cfe1a3228e9bc9f27 +0 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/42378c18e597fb515a056777b8898a55 +0 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/48c0dc34c37e97245938864bbfbbe29b +0 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/4bfd82df35a881a981597ec930014ba5 +0 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/4d4a1f1c647d90205761fd99526a5b70 +0 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/4d66e61ff234df7764a35902b1948fc4 +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/4fa7c9922999c2b04c01c8551eac17fc +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/53017b667f81c9636f7495dba55b6d0e +0 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/55693f566f3fa3e777f3386bb9bcd361 +0 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/5617f782181a6c91d5cf520dcd5b0bc5 +0 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/59a06baa574b1d91519ae64b7133c1cd +0 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/5c2c985b5146452ea41f014106af6c6f +0 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/5f9612f3cac77791ce123fb21a05a20f +0 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/63f619c3cf52f35406f478ee156a6c9e +0 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/675dc727fc08ec2f6009bd85e68a1937 +0 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/6764bb9e5d10dc3638b5f4dc088542bf +0 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/67c58dba4dc254383e87ce053d9221fc +0 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/6a84a62303e465b36ab6a863331ffa33 +0 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/6b5f6dc45c6994188a6e8c77b2b41182 +0 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/6ba09cd00fb70cf57d04ccc49b6bb26a +0 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/6ca4b7913d942da04dfb93e10481d96d +0 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/6e3e5f8eaf5a1930932dff7bc5a7fa09 +0 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/6ed73e831b3dd2f6257d499d35f8ede0 +0 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/6f34a9d81cbc6a1fc2c391801f37b3f1 +0 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/70af985faf38b3209342724bb9638c31 +0 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/71c677fb35d8508d8c2a3447445bb686 +0 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/73537c708deb8a9801608fa2f3165a3b +0 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/74eedab6209ac4e9444171a6e97a1a18 +0 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/753122468e70509ea5729d60f7075e01 +0 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/755e13519dcac438d336400b07329685 +0 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/7af5753d3dc58a5ea62d033e6ae60416 +0 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/7f5991d2d2950a2f4c69b88ca3798b1b +0 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/7fa30989ae8cd4caaeef29e969a7e49a +0 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/829e951f5bc2f94ef66d86b28b199447 +0 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/87d059ab7bf04888fe5cc80d6c743fc2 +0 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/8d3ace7636b4861d7d7d41d630bdb0d5 +0 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/8da23447eff5b792b79410aa205243ab +0 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/8e15b993209727f035c02a23d97ef686 +0 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/8f85f4c82450b7df588e06bfcaf5d577 +0 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/8fa9f364912bf5055774bde331a79b47 +0 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/91fafb9e332082218d34025e665af421 +0 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/945511fa7fa414421e21fb810f1083de +0 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/963e48cefbd22da04c4efd4041205e46 +0 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/99007a07cc79407b0cf4a947a8e377b9 +0 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/9e42f95a57e043a9f1537541dbca0651 +0 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/9fb2fb83974cba314709fce5b0cc98b6 +0 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/a03cc47fb9de866351007fdb25b670c4 +0 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/a03edc50c52d044c3a279f02d674332d +0 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/a1be7b98e527b5ccfb6d474003028586 +0 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/a1bff0fe1ad3baab2a6c6152f52b64dc +0 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/a6e0c403a88f0889defb1fad89f74c1d +0 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/a904a27b55343ddab7cc75fede000068 +0 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/ad084646018316781b4fa4c25045ac30 +0 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/ad30c84e09987316a2306242ce59d8d7 +0 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/adfea7d5c775945ffef7abe90d5e216d +0 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/b110702874f121572f2c0df5784ae00b +0 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/b24d0a0fd7d267ecd3c3b0c59a03a039 +0 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/b523510e526eb38272c19e3dbea664fd +0 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/b572837e4078665022d5acf6caa684a5 +0 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/bb2064b2eed32f7503d9fb50ee2f5f2b +0 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/bbd5f957053239fb6c68473a1bfc7c22 +0 -0
  218. data/test/dummy/tmp/cache/assets/development/sprockets/bc788596b4ccbbdd925092ee9cb747a7 +0 -0
  219. data/test/dummy/tmp/cache/assets/development/sprockets/bcae55bba3b0a475051933cbe19038c6 +0 -0
  220. data/test/dummy/tmp/cache/assets/development/sprockets/bd3936370d0f952ada5774e2230046ed +0 -0
  221. data/test/dummy/tmp/cache/assets/development/sprockets/bd4f5d4596e32467fefda01df1efad13 +0 -0
  222. data/test/dummy/tmp/cache/assets/development/sprockets/bdba836f1bbbde7678c39db6eece4920 +0 -0
  223. data/test/dummy/tmp/cache/assets/development/sprockets/be0fad3fbbf75b755f4344ae91bf5aec +0 -0
  224. data/test/dummy/tmp/cache/assets/development/sprockets/c336f1457939ef7e278043cd68c7eef5 +0 -0
  225. data/test/dummy/tmp/cache/assets/development/sprockets/c4dc2bc79316f8edde30e4a8aca5ba4f +0 -0
  226. data/test/dummy/tmp/cache/assets/development/sprockets/c5547360880903bd6380d84aaa9ba5f6 +0 -0
  227. data/test/dummy/tmp/cache/assets/development/sprockets/c70beb27074431b0b1c236bb0c0993d1 +0 -0
  228. data/test/dummy/tmp/cache/assets/development/sprockets/c7306b07e448f36160aa7c77b6038385 +0 -0
  229. data/test/dummy/tmp/cache/assets/development/sprockets/c880a2da8a8e3ff9c5b08ab35536a4f6 +0 -0
  230. data/test/dummy/tmp/cache/assets/development/sprockets/c9c048289a96a09f5c1276825d17f031 +0 -0
  231. data/test/dummy/tmp/cache/assets/development/sprockets/ca2b82511d11b9dc75913ef2ccf454bb +0 -0
  232. data/test/dummy/tmp/cache/assets/development/sprockets/cff044ad29738248db9a8f76270079c3 +0 -0
  233. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  234. data/test/dummy/tmp/cache/assets/development/sprockets/d48673260416324e05fbc43a125bd165 +0 -0
  235. data/test/dummy/tmp/cache/assets/development/sprockets/d4fcf32e40663c080f923f32f75c9265 +0 -0
  236. data/test/dummy/tmp/cache/assets/development/sprockets/d57dcb9c70788acb6195605b96350fd2 +0 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/d8418c0e358beb48584a972b9d35e4d0 +0 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/d931e476d1bbee7a10c6c653506fe3da +0 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/dbc3bdebc9490b955785e117ee170e6e +0 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/dd52fc1a04bf14e4bad07ba32d46f17e +0 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/de2755a093405fd20933dc3fb001e71b +0 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/e22c0b77164bd4f3f4f6bf616719dbef +0 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/e31cfc5aabff9b844f6baf5707b5ed0f +0 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/e459168835a5f27b832ace20874f7c10 +0 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/e473b566f8e6ce7d0461acca99b1adc1 +0 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/e4bb3a0d4a4acc5a83e23e0ef6e200e0 +0 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/e4bb690d672680782021b93d36774332 +0 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/e560cec5ab94ec71bc34af22d3f64cdb +0 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/e76ddba38ebb552893d1dc4602211cbd +0 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/e802e3a1b2db1b432ef465bff407a073 +0 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/ea421f7f2366af176c5bc920d9286baa +0 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/ea728ad3f7a1d4a2e75a9cb6baecaa34 +0 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/eb4b4dfce857f7f08f4ed81e9d3fdf0b +0 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/eb4ed545a7fa1b535192b8df56ccdc55 +0 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/ebc54658234ae2f8eee2e9d3379835c1 +0 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/ec917e55ae6c96e47cbcfc35cfc12fb6 +0 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/ee09e5ec29db7472f582fd475c4ae061 +0 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/f0497e9a02cfb5752be79037b887ef9c +0 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/f2cf712a6cef311fa1fa35fc5d363b23 +0 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/f5885897d937f7253e2bc179860fe3fc +0 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/f84d5de211cf925ae1922c571954210e +0 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/fbd3c7247de3ffa7fe37c47d17270f45 +0 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/fc67199da32b5ab860bd1743ce50b9f4 +0 -0
  266. data/test/dummy/tmp/pids/server.pid +1 -0
  267. data/test/fixtures/rails_filemanager/filemanager_files.yml +11 -0
  268. data/test/helpers/rails_filemanager/filemanager_files_helper_test.rb +6 -0
  269. data/test/integration/navigation_test.rb +10 -0
  270. data/test/models/rails_filemanager/filemanager_file_test.rb +9 -0
  271. data/test/rails_filemanager_test.rb +7 -0
  272. data/test/test_helper.rb +15 -0
  273. metadata +696 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7ede96a22a79480baab3c699f282315a2088cc4b
4
+ data.tar.gz: 50dcc3f56c8ed6d8b2ef0a48a50dd7d524775479
5
+ SHA512:
6
+ metadata.gz: 8b7670d63f5d6682308d275c8ca6039c59bc7f2b2b7dcabe8c87198a68dbebe2bd22e3ea97953ad2ea99b42510a1f133f2cd6257f83accb734a06a0d93fc30f8
7
+ data.tar.gz: e0ecafd5386f0d647b7913ed7a937c58c84839037fd544ff5ca3ee9d24d071fdef2f7773677bf7af545108f561b32a440337a032bac7563f60989303367ce804
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2014 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,34 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'RailsFilemanager'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+
22
+ Bundler::GemHelper.install_tasks
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
31
+ end
32
+
33
+
34
+ task default: :test
@@ -0,0 +1,18 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require bootstrap
16
+ //= require jquery-fileupload
17
+ //= require zeroclipboard
18
+ //= require_tree .
@@ -0,0 +1,96 @@
1
+ $(document).ready(function() {
2
+ });
3
+
4
+ window.fileManager = {
5
+
6
+ filesContainer: undefined,
7
+
8
+ initialize: function() {
9
+ var that = this;
10
+ this.filesContainer = $('.files');
11
+ this.filesContainer.data('parents', []);
12
+ this.vivifyFiles();
13
+
14
+ $('#up-dir').on('click', function() {
15
+ that.dirUp();
16
+ });
17
+
18
+ // $.contextMenu('html5');
19
+
20
+ // $.contextMenu({
21
+ // selector: '.menu-active-area',
22
+ // items: {
23
+ // foo: {name: 'Show link', callback: function(key, opt) {
24
+ // console.log(key);
25
+ // console.log(opt);
26
+ // console.log($(this));
27
+
28
+ // $(this).parent().find('.direct-link').show();
29
+ // }
30
+ // },
31
+ // },
32
+ // });
33
+ },
34
+
35
+ vivifyFiles: function() {
36
+
37
+ // tree navigation down
38
+ $('.files .file .menu-active-area').on('click', function() {
39
+ if ($(this).parent().hasClass('directory')) {
40
+ console.log('dir');
41
+ fileManager.dirDown($(this).parent().data('id'));
42
+ }
43
+ else {
44
+ // file
45
+ if (window.opener) {
46
+ console.log($(this).parent());
47
+ window.opener.publicPagesAdmin.bodyEditor.insert($(this).parent().data('file').url);
48
+ }
49
+ console.log('file');
50
+ }
51
+ });
52
+
53
+ var clip = new ZeroClipboard($('.zeroclip-button'));
54
+
55
+ $('.remove-file').on('click', function(e) {
56
+ e.preventDefault();
57
+ console.log(e);
58
+ if (confirm($(this).data('confirmation-text'))) {
59
+ console.log ('confirmed');
60
+ $.ajax({
61
+ "type": "POST",
62
+ "url": $(this).attr('href'),
63
+ "data": "_method=delete",
64
+ "dataType": "json",
65
+ "complete": function() {
66
+ window.reloadFiles();
67
+ }
68
+ });
69
+ }
70
+ else {
71
+ console.log ('not confirmed');
72
+ }
73
+ });
74
+ },
75
+
76
+ cd: function(newDirId) {
77
+ this.filesContainer.data('cwd-id', newDirId);
78
+ $('#fileupload #parent_id_input').val(newDirId);
79
+ reloadFiles();
80
+ },
81
+
82
+ dirUp: function() {
83
+ var parents = this.filesContainer.data('parents');
84
+ var parentId = parents.pop();
85
+ this.filesContainer.data('parents', parents);
86
+
87
+ this.cd(parentId);
88
+ },
89
+
90
+ dirDown: function(dirId) {
91
+ var parents = this.filesContainer.data('parents');
92
+ parents.push(this.filesContainer.data('cwd-id'));
93
+ this.filesContainer.data('parents', parents);
94
+ fileManager.cd(dirId);
95
+ },
96
+ };
@@ -0,0 +1,17 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any styles
10
+ * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
+ * file per style scope.
12
+ *
13
+ *= require_self
14
+ *= require bootstrap
15
+ *= require jquery.fileupload-ui
16
+ *= require_tree .
17
+ */
@@ -0,0 +1,43 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
5
+
6
+ @import 'bootstrap';
7
+
8
+ body {
9
+ padding-top: 50px;
10
+ padding-bottom: 50px;
11
+ }
12
+
13
+
14
+ /* custom buttoms */
15
+ .destroy-button {
16
+ @extend .btn;
17
+ @extend .btn-danger;
18
+ @extend .glyphicon;
19
+ @extend .glyphicon-remove;
20
+ }
21
+
22
+ .ok-button {
23
+ @extend .btn;
24
+ @extend .btn-success;
25
+ @extend .glyphicon;
26
+ @extend .glyphicon-ok;
27
+ }
28
+
29
+ .file-manager {
30
+ .file {
31
+ border: 1px solid #808080;
32
+ display: inline-block;
33
+ height: 200px;
34
+ margin: 15px;
35
+ overflow: hidden;
36
+ padding: 20px;
37
+ width: 200px;
38
+ }
39
+
40
+ .clickable {
41
+ cursor: pointer;
42
+ }
43
+ }
@@ -0,0 +1,56 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
@@ -0,0 +1,2 @@
1
+ class RailsFilemanager::ApplicationController < ApplicationController
2
+ end
@@ -0,0 +1,101 @@
1
+ require_dependency "rails_filemanager/application_controller"
2
+
3
+
4
+ module RailsFilemanager
5
+ class FilemanagerFilesController < ApplicationController
6
+
7
+ before_action :load_current_owner
8
+
9
+ def index
10
+ respond_to do |format|
11
+
12
+ format.html
13
+ format.json do
14
+
15
+
16
+ # if params[:dir_id].present? && params[:dir_id] != '0'
17
+ # @directory = MediaManagerFile.find_by id: params[:dir_id]
18
+ # else
19
+ # @directory = @choir.media_manager_files.root_dir.first
20
+ # unless @directory
21
+ # @directory = @choir.media_manager_files.create name: @choir.name
22
+ # end
23
+ # end
24
+ #
25
+ if params[:dir_id].present? && params[:dir_id] != '0'
26
+ @directory = FilemanagerFile.find_by id: params[:dir_id]
27
+ else
28
+ @directory = @current_owner.rails_filemanager_files.root_dir.first
29
+ unless @directory
30
+ @directory = @current_owner.rails_filemanager_files.create name: 'root'
31
+ end
32
+ end
33
+
34
+ logger.debug @directory.inspect
35
+ logger.debug @directory.children.inspect
36
+
37
+ @uploads = @directory.children.sort_named
38
+
39
+ render json: { directory_name: @directory.name, files: @uploads.map{|upload| upload.to_jq_upload } }
40
+ end
41
+ end
42
+ end
43
+
44
+ def create
45
+ file_params = filemanager_file_params
46
+ file_params['parent_id'] = @current_owner.rails_filemanager_files.first.id if file_params['parent_id'].to_i == 0 || file_params['parent_id'].blank?
47
+ #file_params.delete_if{|k, v| k == 'parent_id' && (v.to_i == 0 || v.blank?) }
48
+ logger.debug file_params.inspect
49
+ @upload = FilemanagerFile.new file_params
50
+ @upload.owner = @current_owner
51
+
52
+ respond_to do |format|
53
+ if @upload.save
54
+ format.html {
55
+ render json: [@upload.to_jq_upload].to_json,
56
+ content_type: 'text/html',
57
+ layout: false
58
+ }
59
+ format.json { render json: { files: [@upload.to_jq_upload]}, status: :created}
60
+ else
61
+ format.html { render action: 'new' }
62
+ format.json { render json: { status: 'ERROR', errors: @upload.errors.full_messages }, status: :unprocessable_entity }
63
+ end
64
+ end
65
+ end
66
+
67
+ def storage_free
68
+ render json: { storage_free: (@current_owner.send(owner.class.storage_limit_method) - @current_owner.total_storage_used) }
69
+ end
70
+
71
+ def destroy
72
+ @file = FilemanagerFile.find_by id: params[:id]
73
+
74
+ if @file == nil
75
+ head :not_found
76
+ elsif @file.destroy
77
+ head :ok
78
+ else
79
+ head :internal_server_error
80
+ end
81
+ end
82
+
83
+ private
84
+
85
+ def filemanager_file_params
86
+ params.require(:filemanager_file).permit :file, :name, :parent_id
87
+ end
88
+
89
+ # def check_privileges
90
+ # unless current_user.can? :upload_files, @choir
91
+ # flash[:error] = I18n.t 'general.invalid_permissions'
92
+ # redirect_to root_url(@choir)
93
+ # end
94
+ # end
95
+
96
+ def load_current_owner
97
+ #@current_owner = self.send(self.current_owner_method)
98
+ @current_owner = self.current_owner
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,4 @@
1
+ module RailsFilemanager
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module RailsFilemanager
2
+ module FilemanagerFilesHelper
3
+ end
4
+ end
@@ -0,0 +1,49 @@
1
+ module RailsFilemanager
2
+ class FilemanagerFile < ActiveRecord::Base
3
+
4
+ has_attached_file :file
5
+
6
+ has_ancestry
7
+
8
+ belongs_to :owner, polymorphic: true
9
+
10
+ #validates :choir_id, uniqueness: true, if: -> { self.ancestry.nil? }
11
+ validates :name, presence: true, if: -> { self.file_file_name.nil? }
12
+ validates :file_file_name, presence: true, if: -> { self.name.nil? }
13
+ do_not_validate_attachment_file_type :file
14
+
15
+
16
+ validate :total_size_within_limits, if: -> { self.owner_id.present? }
17
+
18
+ scope :root_dir, -> { where ancestry: nil }
19
+
20
+ scope :sort_named, -> { order 'name ASC, file_file_name ASC, updated_at ASC' }
21
+
22
+ include Rails.application.routes.url_helpers
23
+
24
+ def to_jq_upload
25
+ {
26
+ name: self.name || self.file_file_name,
27
+ size: file_file_size,
28
+ url: file.url(:original),
29
+ delete_url: '',
30
+ delete_type: 'DELETE',
31
+ directory: file_file_name.nil?,
32
+ id: id,
33
+ }
34
+ end
35
+
36
+ def path_name
37
+ '/' + self.ancestors.map{|a| a.name + '/'}.join
38
+ end
39
+
40
+ def total_size_within_limits
41
+ if self.owner.present? && file.size
42
+
43
+ if (self.owner.total_storage_used + file.size) >= owner.send(owner.class.storage_limit_method)
44
+ errors.add(:file, :too_big)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end