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
@@ -0,0 +1,2 @@
1
+ /[if lt IE 9]
2
+ <script src='http://html5shim.googlecode.com/svn/trunk/html5.js'></script>
@@ -0,0 +1,15 @@
1
+ !!!5
2
+
3
+ %html{ lang: I18n.locale.to_s }
4
+ %head
5
+ %title File Manager
6
+ -# = include_gon
7
+ = stylesheet_link_tag "rails_filemanager/application", media: "all", "data-turbolinks-track" => true
8
+ = javascript_include_tag "rails_filemanager/application", "data-turbolinks-track" => true
9
+ %meta{name: 'viewport', content: 'width=device-width, initial-scale=0.8'}
10
+ = csrf_meta_tags
11
+ = render 'layouts/rails_filemanager/shim'
12
+
13
+ %body
14
+ .container
15
+ =yield
@@ -0,0 +1,278 @@
1
+ .row
2
+ .col-xs-12
3
+ .file-manager
4
+ =form_for RailsFilemanager::FilemanagerFile.new, url: filemanager_files_path, html: { multipart: true, id: 'fileupload' } do |f|
5
+ =f.hidden_field :parent_id, value: '', id: 'parent_id_input'
6
+ .row.fileupload-buttonbar
7
+ .col-xs-12
8
+ %span.btn.btn-success.fileinput-button
9
+ %span.glyphicon.glyphicon-plus=''
10
+ %span Add files
11
+ =f.file_field :file
12
+
13
+ =button_tag class: 'btn btn-primary new-directory' do
14
+ %span.glyphicon.glyphicon-folder-close=''
15
+ %span New directory
16
+
17
+ .row
18
+ .col-xs-12
19
+ .fileupload-loading
20
+ &nbsp;
21
+ .row
22
+ .col-xs-12
23
+ /%table.table.table-striped
24
+ / %tbody.files=''
25
+ .jumbotron
26
+ .row
27
+ .col-xs-12
28
+ %span.glyphicon.glyphicon-arrow-up.clickable#up-dir=''
29
+ .row
30
+ .col-xs-12
31
+ %h3.cwd-name
32
+ .row
33
+ .col-xs-12
34
+ .files{ 'data-cwd-id' => '0' }
35
+
36
+ :javascript
37
+ var fileUploadErrors = {
38
+ maxFileSize: 'File is too big',
39
+ minFileSize: 'File is too small',
40
+ acceptFileTypes: 'Filetype not allowed',
41
+ maxNumberOfFiles: 'Max number of files exceeded',
42
+ uploadedBytes: 'Uploaded bytes exceed file size',
43
+ emptyResult: 'Empty file upload result',
44
+ }
45
+
46
+ -# :plain
47
+ -#
48
+ -# <!-- The template to display files available for upload -->
49
+ -# <script id="template-upload" type="text/x-tmpl">
50
+ -# {% for (var i=0, file; file=o.files[i]; i++) { %}
51
+ -# <div class="template-upload fade">
52
+ -# <div class="preview"><span class="fade"></span></div>
53
+ -# <div class="name"><span>{%=file.name%}</span></div>
54
+ -# <div class="size"><span>{%=o.formatFileSize(file.size)%}</span></div>
55
+ -# {% if (file.error) { %}
56
+ -# <div class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</div>
57
+ -# {% } else if (o.files.valid && !i) { %}
58
+ -# <div>
59
+ -# <div class="progress progress-success progress-striped active"><div class="bar" style="width:0%;"></div></div>
60
+ -# </div>
61
+ -# <div class="start">{% if (!o.options.autoUpload) { %}
62
+ -# <button class="btn btn-primary">
63
+ -# <i class="icon-upload icon-white"></i>
64
+ -# <span>{%=locale.fileupload.start%}</span>
65
+ -# </button>
66
+ -# {% } %}</div>
67
+ -# {% } else { %}
68
+ -# <div></div>
69
+ -# {% } %}
70
+ -# <div class="cancel">{% if (!i) { %}
71
+ -# <button class="btn btn-warning">
72
+ -# <i class="glyphicon glyphicon-ban-circle"></i>
73
+ -# <span>{%=locale.fileupload.cancel%}</span>
74
+ -# </button>
75
+ -# {% } %}</div>
76
+ -# </div>
77
+ -# {% } %}
78
+ -# </script>
79
+ -#
80
+ -# <!-- The template to display files available for download -->
81
+ -# <script id="template-download" type="text/x-tmpl">
82
+ -# {% for (var i=0, file; file=o.files[i]; i++) { %}
83
+ -# <tr class="template-download fade">
84
+ -# {% if (file.error) { %}
85
+ -# <td></td>
86
+ -# <td class="name"><span>{%=file.name%}</span></td>
87
+ -# <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
88
+ -# <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
89
+ -# {% } else { %}
90
+ -# <td class="preview">{% if (file.thumbnail_url) { %}
91
+ -# <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
92
+ -# {% } %}</td>
93
+ -# <td class="name">
94
+ -# <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
95
+ -# </td>
96
+ -# <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
97
+ -# <td colspan="2"></td>
98
+ -# {% } %}
99
+ -# <td class="delete">
100
+ -# <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
101
+ -# <i class="icon-trash icon-white"></i>
102
+ -# <span>{%=locale.fileupload.destroy%}</span>
103
+ -# </button>
104
+ -# <input type="checkbox" name="delete" value="1">
105
+ -# </td>
106
+ -# </tr>
107
+ -# {% } %}
108
+ -# </script>
109
+
110
+
111
+ :javascript
112
+
113
+ $(document).ready(function() {
114
+
115
+ $('.new-directory').on('click', function(e) {
116
+ e.preventDefault();
117
+
118
+ var retval = prompt('folder name?');
119
+ console.log(retval);
120
+ if (retval) {
121
+ var parentDirId = $('.files').data('cwd-id');
122
+
123
+ $.ajax({
124
+ url: '#{filemanager_files_path}',
125
+ type: 'post',
126
+ data: {filemanager_file: { name: retval, parent_id: parentDirId } },
127
+ dataType: 'json',
128
+ success: function() {
129
+ console.log('success');
130
+ reloadFiles();
131
+ },
132
+ });
133
+ }
134
+ });
135
+
136
+ $('#fileupload').fileupload({
137
+
138
+ filesContainer: $('.files'),
139
+ uploadTemplateId: null,
140
+ downloadTemplateId: null,
141
+
142
+ uploadTemplate: function(o) {
143
+ var items = $();
144
+ $.each(o.files, function(index, file) {
145
+ console.log(index);
146
+ console.log(file);
147
+ var item = $('<div class="file" id="' + file.unique_id + '">' +
148
+ '<div class="preview-image glyphicon glyphicon-file"></div>' +
149
+ '<div class="caption">' +
150
+ '<p>' + file.name + '</p>' +
151
+ '</div>' +
152
+ '<div class="progress-bar-box">' +
153
+ '<div id="progress-bar-'+file.name+'" class="progress">' +
154
+ '<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0%;">'+
155
+ '0%' +
156
+ '</div>' +
157
+ '</div>' +
158
+ '</div>' +
159
+ '</div>');
160
+
161
+ items = items.add(item);
162
+ });
163
+ return items;
164
+ },
165
+
166
+ downloadTemplate: function(o) {
167
+ var items = $();
168
+ $.each(o.files, function(index, file) {
169
+ console.log(index);
170
+ console.log(file);
171
+ var imgClass = file.directory ? 'glyphicon-folder-close' : 'glyphicon-file';
172
+ var dirClass = file.directory ? 'directory' : '';
173
+ var urlDisplay = '';
174
+ if (!file.directory) {
175
+ urlDisplay = '<div class="input-group direct-link">' +
176
+ '<input type="text" id="direct-file-link-'+file.id+'" class="form-control" readonly="readonly" value="'+file.url+'"/>'+
177
+ '<span class="input-group-btn">' +
178
+ '<button class="btn zeroclip-button" data-clipboard-target="direct-file-link-' + file.id + '" data-default-clipboard-text="' + file.url + '" title="Copy link to clipboard" >' +
179
+ '<span class="glyphicon glyphicon-floppy-open"></span>' +
180
+ '</button>' +
181
+ '</span>' +
182
+ '</div>';
183
+ }
184
+ var item = $('<div class="file ' + dirClass + '" ' +
185
+ 'data-id="' + file.id + '"' +
186
+ 'data-file-url="' + file.url + '">' +
187
+ '<div class="clickable menu-active-area">' +
188
+ '<div class="preview-image glyphicon ' + imgClass + '"></div>' +
189
+ '<div class="caption">' +
190
+ '<p>' + file.name + '</p>' +
191
+ '</div>' +
192
+ '</div>' +
193
+ urlDisplay +
194
+ '<a rel="nofollow" href="#{filemanager_files_path}/'+file.id+'" data-confirmation-text="Jeste li sigurni da želite izbrisati ' +
195
+ file.name +
196
+ '?" class="remove-file btn-xs destroy-button">' +
197
+ '</a>' +
198
+ '</div>');
199
+
200
+ item.data('file', file);
201
+
202
+ items = items.add(item);
203
+ });
204
+
205
+ return items;
206
+ },
207
+ });
208
+
209
+
210
+ $('#fileupload')
211
+ // .bind('fileuploadsend', function(e, data) {
212
+ // $.ajax({
213
+ // url: '/cd/private/file_manager/storage_free',
214
+ // dataType: 'json',
215
+ //
216
+ // success: function(data, status, xhr) {
217
+ // if (data.storage_free >
218
+ // },
219
+ // });
220
+ // })
221
+ .bind('fileuploadadd', function(e, data) {
222
+ console.log(e);
223
+ console.log(data);
224
+ data.parent_id = $('.files').data('cwd-id');
225
+ data.files.forEach(function(f){f.unique_id = 'div-' + Date.now();});
226
+ console.log(data);
227
+ data.submit();
228
+ })
229
+ .bind('fileuploaddone', function(e, data) {
230
+ console.log(e);
231
+ console.log(data);
232
+ reloadFiles();
233
+ })
234
+ .bind('fileuploadfail', function(e, data) {
235
+ if (data.jqXHR) {
236
+ var response = data.jqXHR.responseJSON;
237
+ response.errors.forEach(function(error) {
238
+ alert(error);
239
+ });
240
+ }
241
+ reloadFiles();
242
+ })
243
+ .on('fileuploadprogress', function(e, data) {
244
+ var fileid = data.files[0].unique_id;
245
+ var progress = parseInt(data.loaded / data.total * 100, 10);
246
+ if (progress > 100) progress = 100;
247
+
248
+ var progressBar = $('#'+fileid).find('.progress-bar');
249
+
250
+ progressBar.css('width', '' + progress + '%');
251
+ progressBar.html('' + progress + '%');
252
+ });
253
+
254
+ // Load existing files:
255
+ window.reloadFiles = function() {
256
+ $.getJSON($('#fileupload').prop('action') + '?dir_id=' + $('.files').data('cwd-id'), function (response) {
257
+ files = response.files;
258
+ $('.cwd-name').text(response.directory_name);
259
+ var fu = $('#fileupload').data('blueimpFileupload'), template;
260
+ fu._adjustMaxNumberOfFiles(-files.length);
261
+ console.log(files);
262
+ template = fu._renderDownload(files)
263
+ $('#fileupload .files').html(template);
264
+ // Force reflow:
265
+ fu._reflow = fu._transition && template.length &&
266
+ template[0].offsetWidth;
267
+ template.addClass('in');
268
+ $('#loading').remove();
269
+
270
+ fileManager.vivifyFiles();
271
+ //$('.direct-link').hide();
272
+ });
273
+ };
274
+
275
+ reloadFiles();
276
+
277
+ fileManager.initialize();
278
+ });
data/config/routes.rb ADDED
@@ -0,0 +1,9 @@
1
+ RailsFilemanager::Engine.routes.draw do
2
+
3
+ root to: 'filemanager_files#index'
4
+
5
+ get '/filemanager_files/storage_free', to: 'filemanager_files#storage_free', via: :get
6
+ resources :filemanager_files
7
+
8
+
9
+ end
@@ -0,0 +1,11 @@
1
+ class CreateRailsFilemanagerFilemanagerFiles < ActiveRecord::Migration
2
+ def change
3
+ create_table :rails_filemanager_filemanager_files do |t|
4
+ t.string :name
5
+ t.integer :parent_directory_id
6
+ t.integer :owner_id
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ include Paperclip::Schema
2
+ class AddAttachmentFileToFilemanagerFiles < ActiveRecord::Migration
3
+ def self.up
4
+ add_attachment :rails_filemanager_filemanager_files, :file
5
+ end
6
+
7
+ def self.down
8
+ remove_attachment :rails_filemanager_filemanager_files, :file
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ class AddAncestryToRailsFilemanagerFilemanagerFiles < ActiveRecord::Migration
2
+ def change
3
+ add_column :rails_filemanager_filemanager_files, :ancestry, :string
4
+ add_index :rails_filemanager_filemanager_files, :ancestry
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddOwnerClassToFilemanagerFiles < ActiveRecord::Migration
2
+ def change
3
+ add_column :rails_filemanager_filemanager_files, :owner_type, :string
4
+ end
5
+ end
@@ -0,0 +1,29 @@
1
+ module RailsFilemanager
2
+ module ActsAsFilemanagerOwner
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+
7
+ has_many :rails_filemanager_files, foreign_key: :owner_id, class_name: 'RailsFilemanager::FilemanagerFile', as: :owner
8
+
9
+ cattr_accessor :storage_limit_method
10
+ end
11
+
12
+ module ClassMethods
13
+ def acts_as_filemanager_owner(options = {})
14
+ raise "Storage limit method not set!" unless options[:storage_limit_method].present?
15
+ self.storage_limit_method = options[:storage_limit_method]
16
+
17
+ include RailsFilemanager::ActsAsFilemanagerOwner::InstanceMethods
18
+ end
19
+ end
20
+
21
+ module InstanceMethods
22
+ def total_storage_used
23
+ self.rails_filemanager_files.sum(:file_file_size)
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ #ActiveRecord::Base.send :include, RailsFilemanager::ActsAsFilemanagerOwner
@@ -0,0 +1,5 @@
1
+ module RailsFilemanager
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace RailsFilemanager
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module RailsFilemanager
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,5 @@
1
+ require "rails_filemanager/engine"
2
+ require "rails_filemanager/acts_as_filemanager_owner"
3
+
4
+ module RailsFilemanager
5
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :rails_filemanager do
3
+ # # Task goes here
4
+ # end
@@ -0,0 +1,51 @@
1
+ require 'test_helper'
2
+
3
+ module RailsFilemanager
4
+ class FilemanagerFilesControllerTest < ActionController::TestCase
5
+ setup do
6
+ @filemanager_file = filemanager_files(:one)
7
+ end
8
+
9
+ test "should get index" do
10
+ get :index
11
+ assert_response :success
12
+ assert_not_nil assigns(:filemanager_files)
13
+ end
14
+
15
+ test "should get new" do
16
+ get :new
17
+ assert_response :success
18
+ end
19
+
20
+ test "should create filemanager_file" do
21
+ assert_difference('FilemanagerFile.count') do
22
+ post :create, filemanager_file: { name: @filemanager_file.name, owner_id: @filemanager_file.owner_id, parent_directory_id: @filemanager_file.parent_directory_id }
23
+ end
24
+
25
+ assert_redirected_to filemanager_file_path(assigns(:filemanager_file))
26
+ end
27
+
28
+ test "should show filemanager_file" do
29
+ get :show, id: @filemanager_file
30
+ assert_response :success
31
+ end
32
+
33
+ test "should get edit" do
34
+ get :edit, id: @filemanager_file
35
+ assert_response :success
36
+ end
37
+
38
+ test "should update filemanager_file" do
39
+ patch :update, id: @filemanager_file, filemanager_file: { name: @filemanager_file.name, owner_id: @filemanager_file.owner_id, parent_directory_id: @filemanager_file.parent_directory_id }
40
+ assert_redirected_to filemanager_file_path(assigns(:filemanager_file))
41
+ end
42
+
43
+ test "should destroy filemanager_file" do
44
+ assert_difference('FilemanagerFile.count', -1) do
45
+ delete :destroy, id: @filemanager_file
46
+ end
47
+
48
+ assert_redirected_to filemanager_files_path
49
+ end
50
+ end
51
+ end