simple_attachments 0.1.1
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.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +132 -0
- data/lib/simple_attachments.rb +15 -0
- data/lib/simple_attachments/attachment_model.rb +128 -0
- data/lib/simple_attachments/attachments_controller.rb +100 -0
- data/lib/simple_attachments/container_model.rb +73 -0
- data/lib/simple_attachments/migration_helpers.rb +14 -0
- data/lib/simple_attachments/view_helpers.rb +92 -0
- data/locales/en.yml +5 -0
- data/test/Rakefile +10 -0
- data/test/app/assets/javascripts/attachments.js +18 -0
- data/test/app/assets/stylesheets/attachments.css +17 -0
- data/test/app/controllers/application_controller.rb +3 -0
- data/test/app/controllers/avatars_controller.rb +3 -0
- data/test/app/controllers/documents_controller.rb +3 -0
- data/test/app/controllers/users_controller.rb +18 -0
- data/test/app/models/avatar.rb +5 -0
- data/test/app/models/document.rb +5 -0
- data/test/app/models/user.rb +4 -0
- data/test/app/views/layouts/application.html.erb +12 -0
- data/test/app/views/users/edit.html.erb +6 -0
- data/test/config.ru +4 -0
- data/test/config/application.rb +10 -0
- data/test/config/boot.rb +3 -0
- data/test/config/database.yml +5 -0
- data/test/config/environment.rb +5 -0
- data/test/config/environments/test.rb +12 -0
- data/test/config/initializers/secret_token.rb +7 -0
- data/test/config/initializers/session_store.rb +8 -0
- data/test/config/initializers/wrap_parameters.rb +14 -0
- data/test/config/routes.rb +5 -0
- data/test/db/migrate/1_create_users.rb +6 -0
- data/test/db/migrate/2_create_avatars.rb +8 -0
- data/test/db/migrate/3_create_documents.rb +8 -0
- data/test/db/schema.rb +34 -0
- data/test/db/test.sqlite3 +0 -0
- data/test/log/test.log +11774 -0
- data/test/script/rails +6 -0
- data/test/spec/multiple_spec.rb +36 -0
- data/test/spec/samples/sample.jpg +0 -0
- data/test/spec/samples/sample.pdf +0 -0
- data/test/spec/samples/sample.png +0 -0
- data/test/spec/singleton_spec.rb +54 -0
- data/test/spec/spec_helper.rb +22 -0
- data/test/tmp/cache/2CB/9B1/http%3A%2F%2Flocalhost%3A3000%2Fassets%2Fattachments.js%3F +0 -0
- data/test/tmp/cache/337/6A1/http%3A%2F%2Flocalhost%3A3000%2Fassets%2Fattachments.css%3F +0 -0
- data/test/tmp/cache/A03/C30/86cd82a38406e2cc75af040321554265d148882e +0 -0
- data/test/tmp/cache/BDE/BD0/7d763b3bac537e97ea5f3fb558c2bdbba05b72bc +0 -0
- data/test/tmp/cache/assets/C2E/6F0/sprockets%2F99a77a1d4d8767343010e1153d993839 +0 -0
- data/test/tmp/cache/assets/C5A/590/sprockets%2F2993f5a3d21b3e477143358534c68f55 +0 -0
- data/test/tmp/cache/assets/C5B/6F0/sprockets%2F19824e4169877bb010cd8163319f3f95 +0 -0
- data/test/tmp/cache/assets/CEB/450/sprockets%2Fada5663796684365b3e4ab36529bc86b +0 -0
- data/test/tmp/cache/assets/CF4/E60/sprockets%2F96b74d34978f2759ec2af602cd969d00 +0 -0
- data/test/tmp/cache/assets/D0B/600/sprockets%2F0b1b45e6991800f2911a6bcccf54a679 +0 -0
- data/test/tmp/cache/assets/D48/590/sprockets%2F522d019dab47a2617f2c2a99e98a99ed +0 -0
- data/test/tmp/cache/assets/D64/BF0/sprockets%2Fbd0d2396f3797000ffd901eba90b4d0e +0 -0
- data/test/tmp/cache/assets/D6B/150/sprockets%2F0b6cebd1717e9da4183329be9a2d77c0 +0 -0
- data/test/tmp/cache/assets/D70/120/sprockets%2F0f56b864e2eba6c4199d4171bdf391ae +0 -0
- data/test/tmp/cache/assets/D91/580/sprockets%2Fb5e4430a5a0af8eee00d262f82b565ed +0 -0
- data/test/tmp/cache/assets/D9A/760/sprockets%2F8df77fdd2c3c1f3d04f450c72a635be2 +0 -0
- data/test/tmp/cache/assets/DA1/380/sprockets%2F5e06b3974a8f9ca4452d4dfea337dba5 +0 -0
- data/test/tmp/cache/assets/DA9/EC0/sprockets%2F73f61f04eb2d87aced83787a0f14cf8e +0 -0
- data/test/uploads/1330732189.40513.sample.jpg +0 -0
- data/test/uploads/1330732621.7381.sample.jpg +0 -0
- data/test/uploads/1330732672.36763.sample.jpg +0 -0
- data/test/uploads/1330732847.98348.sample.jpg +0 -0
- data/test/uploads/1330732967.05269.sample.jpg +0 -0
- data/test/uploads/1330733025.52707.sample.jpg +0 -0
- data/test/uploads/1330733381.60733.sample.jpg +0 -0
- data/test/uploads/1330733822.51761.sample.jpg +0 -0
- data/test/uploads/1330733887.44114.sample.jpg +0 -0
- data/test/uploads/1330738615.68437.sample.jpg +0 -0
- data/test/uploads/1330738616.82401.sample.jpg +0 -0
- data/test/uploads/1330738618.00278.sample.jpg +0 -0
- data/test/uploads/1330738771.92631.sample.jpg +0 -0
- data/test/uploads/1330738772.94099.sample.jpg +0 -0
- data/test/uploads/1330738901.69933.sample.jpg +0 -0
- data/test/uploads/1330738904.3815.sample.jpg +0 -0
- data/test/uploads/1330739046.59901.sample.jpg +0 -0
- data/test/uploads/1330739125.79463.sample.jpg +0 -0
- data/test/uploads/1330739131.09163.sample.pdf +0 -0
- data/test/uploads/1330739735.52707.sample.jpg +0 -0
- data/test/uploads/1330739738.11937.sample.jpg +0 -0
- data/test/uploads/1330739742.76692.sample.jpg +0 -0
- data/test/uploads/1330739911.78046.sample.jpg +0 -0
- data/test/uploads/1330739914.46047.sample.jpg +0 -0
- data/test/uploads/1330739918.80359.sample.jpg +0 -0
- data/test/uploads/1330739921.39005.sample.jpg +0 -0
- data/test/uploads/1330739988.04537.sample.jpg +0 -0
- data/test/uploads/1330739990.65212.sample.jpg +0 -0
- data/test/uploads/1330739994.98225.sample.jpg +0 -0
- data/test/uploads/1330739997.45622.sample.jpg +0 -0
- data/test/uploads/1330740765.24516.sample.jpg +0 -0
- data/test/uploads/1330740767.71798.sample.jpg +0 -0
- data/test/uploads/1330740771.9889.sample.jpg +0 -0
- data/test/uploads/1330740774.56759.sample.jpg +0 -0
- data/test/uploads/1330741058.17571.sample.jpg +0 -0
- data/test/uploads/1330741060.65483.sample.jpg +0 -0
- data/test/uploads/1330741067.79574.sample.jpg +0 -0
- data/test/uploads/1330741154.42055.sample.jpg +0 -0
- data/test/uploads/1330741157.28718.sample.jpg +0 -0
- data/test/uploads/1330741164.64669.sample.jpg +0 -0
- data/test/uploads/1330741776.05725.sample.jpg +0 -0
- data/test/uploads/1330741778.80256.sample.jpg +0 -0
- data/test/uploads/1330741785.96345.sample.jpg +0 -0
- data/test/uploads/1330742286.07361.sample.jpg +0 -0
- data/test/uploads/1330742288.59918.sample.jpg +0 -0
- data/test/uploads/1330742295.83963.sample.jpg +0 -0
- data/test/uploads/1330742576.6398.sample.jpg +0 -0
- data/test/uploads/1330742579.54181.sample.jpg +0 -0
- data/test/uploads/1330742586.88996.sample.jpg +0 -0
- data/test/uploads/1330743983.91544.shen-logic-part1.pdf +0 -0
- data/test/uploads/1330744294.55912.sample.jpg +0 -0
- data/test/uploads/1330744296.94811.sample.jpg +0 -0
- data/test/uploads/1330744304.25529.sample.jpg +0 -0
- data/test/uploads/1330744307.08498.sample.pdf +0 -0
- data/test/uploads/1330744309.25872.sample.pdf +0 -0
- data/test/uploads/1330744443.49578.sample.jpg +0 -0
- data/test/uploads/1330744446.09032.sample.jpg +0 -0
- data/test/uploads/1330744453.55965.sample.jpg +0 -0
- data/test/uploads/1330744456.32318.sample.pdf +0 -0
- data/test/uploads/1330744458.42931.sample.pdf +0 -0
- data/test/uploads/1330744533.52631.sample.jpg +0 -0
- data/test/uploads/1330744536.13208.sample.jpg +0 -0
- data/test/uploads/1330744543.29535.sample.jpg +0 -0
- data/test/uploads/1330744546.16477.sample.pdf +0 -0
- data/test/uploads/1330744548.27125.sample.pdf +0 -0
- data/test/uploads/1330744696.43953.sample.jpg +0 -0
- data/test/uploads/1330744698.95043.sample.jpg +0 -0
- data/test/uploads/1330744706.28901.sample.jpg +0 -0
- data/test/uploads/1330744711.24284.sample.pdf +0 -0
- data/test/uploads/1330744713.6281.sample.pdf +0 -0
- data/test/uploads/1330744782.91673.sample.jpg +0 -0
- data/test/uploads/1330744785.53684.sample.jpg +0 -0
- data/test/uploads/1330744792.74599.sample.jpg +0 -0
- data/test/uploads/1330744797.90608.sample.pdf +0 -0
- data/test/uploads/1330744800.55736.sample.pdf +0 -0
- data/test/uploads/1330771358.91882.sample.jpg +0 -0
- data/test/uploads/1330771359.23929.sample.jpg +0 -0
- data/test/uploads/1330771359.70574.sample.jpg +0 -0
- data/test/uploads/1330771360.07645.sample.png +0 -0
- data/test/uploads/1330771364.83802.sample.pdf +0 -0
- data/test/uploads/1330771367.18498.sample.pdf +0 -0
- data/test/uploads/1330771514.28703.sample.jpg +0 -0
- data/test/uploads/1330771514.66497.sample.jpg +0 -0
- data/test/uploads/1330771515.12563.sample.jpg +0 -0
- data/test/uploads/1330771515.72515.sample.png +0 -0
- data/test/uploads/1330771519.30014.sample.pdf +0 -0
- data/test/uploads/1330771519.55784.sample.pdf +0 -0
- data/test/uploads/1330771519.89044.sample.pdf +0 -0
- data/test/uploads/1330771522.50763.sample.pdf +0 -0
- data/test/uploads/1330771522.75458.sample.pdf +0 -0
- data/test/uploads/1330775627.9105.sample.pdf +0 -0
- data/test/uploads/1330775628.40671.sample.pdf +0 -0
- data/test/uploads/1330775628.68645.sample.pdf +0 -0
- data/test/uploads/1330775631.48519.sample.pdf +0 -0
- data/test/uploads/1330775631.9586.sample.pdf +0 -0
- data/test/uploads/1330775676.5146.sample.pdf +0 -0
- data/test/uploads/1330775703.20143.sample.pdf +0 -0
- data/test/uploads/1330775704.36145.sample.pdf +0 -0
- data/test/uploads/1330775705.27831.sample.pdf +0 -0
- data/test/uploads/1330775706.66539.sample.pdf +0 -0
- data/test/uploads/1330776988.21579.sample.pdf +0 -0
- data/test/uploads/1330776988.69155.sample.pdf +0 -0
- data/test/uploads/1330776989.12114.sample.pdf +0 -0
- data/test/uploads/1330776992.1201.sample.pdf +0 -0
- data/test/uploads/1330776992.57634.sample.pdf +0 -0
- data/test/uploads/1330777152.6597.sample.jpg +0 -0
- data/test/uploads/1330777153.00459.sample.jpg +0 -0
- data/test/uploads/1330777153.45871.sample.jpg +0 -0
- data/test/uploads/1330777153.86376.sample.png +0 -0
- data/test/uploads/1330777157.91465.sample.pdf +0 -0
- data/test/uploads/1330777158.23816.sample.pdf +0 -0
- data/test/uploads/1330777158.74465.sample.pdf +0 -0
- data/test/uploads/1330777161.59586.sample.pdf +0 -0
- data/test/uploads/1330777161.93334.sample.pdf +0 -0
- data/test/uploads/1330777833.73591.sample.jpg +0 -0
- data/test/uploads/1330777834.05449.sample.jpg +0 -0
- data/test/uploads/1330777834.50661.sample.jpg +0 -0
- data/test/uploads/1330777834.87967.sample.jpg +0 -0
- data/test/uploads/1330777835.22949.sample.jpg +0 -0
- data/test/uploads/1330777835.55546.sample.png +0 -0
- data/test/uploads/1330777840.54959.sample.jpg +0 -0
- data/test/uploads/1330777844.18911.sample.pdf +0 -0
- data/test/uploads/1330777844.58364.sample.pdf +0 -0
- data/test/uploads/1330777844.96998.sample.pdf +0 -0
- data/test/uploads/1330777847.62838.sample.pdf +0 -0
- data/test/uploads/1330777848.0192.sample.pdf +0 -0
- data/test/uploads/1330778979.41703.sample.jpg +0 -0
- data/test/uploads/1330778979.74093.sample.jpg +0 -0
- data/test/uploads/1330778980.16769.sample.jpg +0 -0
- data/test/uploads/1330778980.54831.sample.jpg +0 -0
- data/test/uploads/1330778980.91033.sample.jpg +0 -0
- data/test/uploads/1330778981.23582.sample.png +0 -0
- data/test/uploads/1330778986.50795.sample.jpg +0 -0
- data/test/uploads/1330778989.07307.sample.pdf +0 -0
- data/test/uploads/1330778989.59241.sample.pdf +0 -0
- data/test/uploads/1330778990.06415.sample.pdf +0 -0
- data/test/uploads/1330778990.44233.sample.pdf +0 -0
- data/test/uploads/1330779134.25647.sample.jpg +0 -0
- data/test/uploads/1330779134.67957.sample.jpg +0 -0
- data/test/uploads/1330779135.15349.sample.jpg +0 -0
- data/test/uploads/1330779135.6793.sample.jpg +0 -0
- data/test/uploads/1330779136.14714.sample.jpg +0 -0
- data/test/uploads/1330779136.70598.sample.png +0 -0
- data/test/uploads/1330779141.75878.sample.jpg +0 -0
- data/test/uploads/1330779145.79811.sample.pdf +0 -0
- data/test/uploads/1330779146.40945.sample.pdf +0 -0
- data/test/uploads/1330779146.75038.sample.pdf +0 -0
- data/test/uploads/1330779149.67101.sample.pdf +0 -0
- data/test/uploads/1330779150.033.sample.pdf +0 -0
- data/test/uploads/1330779251.92468.sample.jpg +0 -0
- data/test/uploads/1330779252.33759.sample.jpg +0 -0
- data/test/uploads/1330779252.79211.sample.jpg +0 -0
- data/test/uploads/1330779253.16365.sample.jpg +0 -0
- data/test/uploads/1330779253.51459.sample.jpg +0 -0
- data/test/uploads/1330779253.82932.sample.png +0 -0
- data/test/uploads/1330779259.04186.sample.jpg +0 -0
- data/test/uploads/1330779262.79998.sample.pdf +0 -0
- data/test/uploads/1330779263.19534.sample.pdf +0 -0
- data/test/uploads/1330779263.51726.sample.pdf +0 -0
- data/test/uploads/1330779266.23965.sample.pdf +0 -0
- data/test/uploads/1330779266.65453.sample.pdf +0 -0
- data/test/uploads/1330780162.71983.1.gif +0 -0
- data/test/uploads/1330780370.60224.sample.jpg +0 -0
- data/test/uploads/1330780370.95202.sample.jpg +0 -0
- data/test/uploads/1330780371.44543.sample.jpg +0 -0
- data/test/uploads/1330780371.88658.sample.jpg +0 -0
- data/test/uploads/1330780372.30293.sample.jpg +0 -0
- data/test/uploads/1330780372.79723.sample.png +0 -0
- data/test/uploads/1330780378.19075.sample.jpg +0 -0
- data/test/uploads/1330780382.07736.sample.pdf +0 -0
- data/test/uploads/1330780382.61497.sample.pdf +0 -0
- data/test/uploads/1330780383.10458.sample.pdf +0 -0
- data/test/uploads/1330780385.85251.sample.pdf +0 -0
- data/test/uploads/1330780386.24973.sample.pdf +0 -0
- data/test/uploads/1330781258.12109.sample.pdf +0 -0
- data/test/uploads/1330781258.63862.sample.pdf +0 -0
- data/test/uploads/1330781259.10465.sample.pdf +0 -0
- data/test/uploads/1330781262.08459.sample.pdf +0 -0
- data/test/uploads/1330781262.52448.sample.pdf +0 -0
- data/test/uploads/1330781278.37307.sample.jpg +0 -0
- data/test/uploads/1330781278.7309.sample.jpg +0 -0
- data/test/uploads/1330781279.18693.sample.jpg +0 -0
- data/test/uploads/1330781279.55913.sample.jpg +0 -0
- data/test/uploads/1330781279.92436.sample.jpg +0 -0
- data/test/uploads/1330781280.27391.sample.png +0 -0
- data/test/uploads/1330886711.00348.sample.pdf +0 -0
- data/test/uploads/1330886711.78495.sample.pdf +0 -0
- data/test/uploads/1330886712.4033.sample.pdf +0 -0
- data/test/uploads/1330886716.09532.sample.pdf +0 -0
- data/test/uploads/1330886716.7663.sample.pdf +0 -0
- data/test/uploads/1330886735.38676.sample.jpg +0 -0
- data/test/uploads/1330886736.28739.sample.jpg +0 -0
- data/test/uploads/1330886736.84868.sample.jpg +0 -0
- data/test/uploads/1330886737.64167.sample.jpg +0 -0
- data/test/uploads/1330886738.33938.sample.jpg +0 -0
- data/test/uploads/1330886738.92271.sample.png +0 -0
- data/test/uploads/1330886985.6679.sample.pdf +0 -0
- data/test/uploads/1330886986.4568.sample.pdf +0 -0
- data/test/uploads/1330886987.00302.sample.pdf +0 -0
- data/test/uploads/1330886990.4604.sample.pdf +0 -0
- data/test/uploads/1330886991.04681.sample.pdf +0 -0
- data/test/uploads/1330887008.68477.sample.jpg +0 -0
- data/test/uploads/1330887009.23077.sample.jpg +0 -0
- data/test/uploads/1330887009.82498.sample.jpg +0 -0
- data/test/uploads/1330887010.48937.sample.jpg +0 -0
- data/test/uploads/1330887011.23496.sample.jpg +0 -0
- data/test/uploads/1330887011.92032.sample.png +0 -0
- data/test/uploads/1330887633.41769.sample.pdf +0 -0
- data/test/uploads/1330887633.81961.sample.pdf +0 -0
- data/test/uploads/1330887634.25582.sample.pdf +0 -0
- data/test/uploads/1330887637.47958.sample.pdf +0 -0
- data/test/uploads/1330887638.14348.sample.pdf +0 -0
- data/test/uploads/1330887655.10619.sample.jpg +0 -0
- data/test/uploads/1330887655.80139.sample.jpg +0 -0
- data/test/uploads/1330887656.35041.sample.jpg +0 -0
- data/test/uploads/1330887656.86876.sample.jpg +0 -0
- data/test/uploads/1330887657.60467.sample.jpg +0 -0
- data/test/uploads/1330887658.23424.sample.png +0 -0
- data/test/uploads/1330888133.62299.WIN.gif +0 -0
- data/test/uploads/1330888504.16714.1.gif +0 -0
- data/test/uploads/1330888586.99975.1.gif +0 -0
- data/test/uploads/1330888607.58249.shen-logic-part1.pdf +0 -0
- data/test/uploads/1330889585.30006.shen-logic-part2.pdf +0 -0
- data/test/uploads/1330890565.79547.shen-logic-part1.pdf +0 -0
- data/test/uploads/1330890992.45693.sample.jpg +0 -0
- data/test/uploads/1330890998.10996.sample.pdf +0 -0
- data/test/uploads/1330890998.76199.sample.pdf +0 -0
- data/test/uploads/1330890999.14516.sample.pdf +0 -0
- data/test/uploads/1330891002.0989.sample.pdf +0 -0
- data/test/uploads/1330891002.49258.sample.pdf +0 -0
- data/test/uploads/1330891004.89888.sample.jpg +0 -0
- data/test/uploads/1330891007.45147.sample.jpg +0 -0
- data/test/uploads/1330891052.00842.sample.jpg +0 -0
- data/test/uploads/1330891056.46428.sample.pdf +0 -0
- data/test/uploads/1330891056.83678.sample.pdf +0 -0
- data/test/uploads/1330891057.31732.sample.pdf +0 -0
- data/test/uploads/1330891057.86036.sample.pdf +0 -0
- data/test/uploads/1330891058.49616.sample.pdf +0 -0
- data/test/uploads/1330891058.91288.sample.pdf +0 -0
- data/test/uploads/1330891138.7408.sample.pdf +0 -0
- data/test/uploads/1330891139.14067.sample.pdf +0 -0
- data/test/uploads/1330891139.46755.sample.pdf +0 -0
- data/test/uploads/1330891142.26432.sample.pdf +0 -0
- data/test/uploads/1330891142.684.sample.pdf +0 -0
- data/test/uploads/1330891158.04426.sample.jpg +0 -0
- data/test/uploads/1330891158.44159.sample.jpg +0 -0
- data/test/uploads/1330891158.85135.sample.jpg +0 -0
- data/test/uploads/1330891159.3765.sample.jpg +0 -0
- data/test/uploads/1330891159.79503.sample.jpg +0 -0
- data/test/uploads/1330891160.15479.sample.png +0 -0
- data/test/uploads/1330900466.37214.sample.pdf +0 -0
- data/test/uploads/1330900466.77443.sample.pdf +0 -0
- data/test/uploads/1330900467.32831.sample.pdf +0 -0
- data/test/uploads/1330900470.07702.sample.pdf +0 -0
- data/test/uploads/1330900470.48767.sample.pdf +0 -0
- data/test/uploads/1330900486.92727.sample.jpg +0 -0
- data/test/uploads/1330900487.4311.sample.jpg +0 -0
- data/test/uploads/1330900488.03152.sample.jpg +0 -0
- data/test/uploads/1330900488.43945.sample.jpg +0 -0
- data/test/uploads/1330900489.01433.sample.jpg +0 -0
- data/test/uploads/1330900489.43854.sample.png +0 -0
- data/vendor/assets/javascripts/simple_attachments.js +138 -0
- data/vendor/assets/stylesheets/simple_attachments.css +23 -0
- metadata +729 -0
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
var simple_attachments = {
|
|
2
|
+
|
|
3
|
+
getCSRF: function() {
|
|
4
|
+
var name = $("meta[name=csrf-param]");
|
|
5
|
+
var value = $("meta[name=csrf-token]");
|
|
6
|
+
name = (name.length ? name.attr("content") : "authenticity_token");
|
|
7
|
+
value = (value.length ? value.attr("content") : "");
|
|
8
|
+
return {name: name, value: value}
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
setFieldsData: function(event, data) {
|
|
12
|
+
var field = $(event.currentTarget);
|
|
13
|
+
var div = event.data.div;
|
|
14
|
+
var options = div.options;
|
|
15
|
+
$("<input>").attr("type", "hidden").attr("name", div.input_name).attr("value", data.id).appendTo(field);
|
|
16
|
+
data.destroy_link = null;
|
|
17
|
+
if (options.can_destroy) {
|
|
18
|
+
data.destroy_link = $("<a>").attr("class", "simple_attachments_destroy_link").attr("href", data.filepath);
|
|
19
|
+
data.destroy_link.bind("click", {field: field, destroy_remote: options.destroy_remote}, function(event) {
|
|
20
|
+
if (event.data.destroy_remote) {
|
|
21
|
+
var csrf = simple_attachments.getCSRF();
|
|
22
|
+
var post = {_method: "delete"};
|
|
23
|
+
post[csrf.name] = csrf.value;
|
|
24
|
+
$.post(this.href, post);
|
|
25
|
+
}
|
|
26
|
+
event.data.field.remove();
|
|
27
|
+
return false;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
data.attachment_link = $("<a>").attr("class", "simple_attachments_attachment_link").attr("href", data.filepath);
|
|
31
|
+
data.div = div;
|
|
32
|
+
field.trigger("loaded", [data]);
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
createInput: function(event) {
|
|
36
|
+
var div = $(event.currentTarget);
|
|
37
|
+
var input = $("<input>").attr("type", "file").attr("class", "simple_attachments_input").attr("name", "file");
|
|
38
|
+
input.appendTo(div.find(".simple_attachments_add_file_div"));
|
|
39
|
+
var form = $("<form>").attr("method", "post").attr("action", div.attr("data-attachments-path")).attr("enctype", "multipart/form-data").attr("accept-charset", "UTF-8");
|
|
40
|
+
var csrf = simple_attachments.getCSRF();
|
|
41
|
+
$("<input>").attr("type", "hidden").attr("name", csrf.name).attr("value", csrf.value).appendTo(form);
|
|
42
|
+
$("<input>").attr("type", "hidden").attr("name", "container_id").attr("value", div.attr("data-container-id")).appendTo(form);
|
|
43
|
+
$("<input>").attr("type", "hidden").attr("name", "container_model").attr("value", div.attr("data-container-model")).appendTo(form);
|
|
44
|
+
$("<input>").attr("type", "hidden").attr("name", "method").attr("value", div.attr("data-method")).appendTo(form);
|
|
45
|
+
input.bind("change", {div: div, form: form}, simple_attachments.createIframe);
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
createIframe: function(event) {
|
|
49
|
+
var input = $(event.currentTarget);
|
|
50
|
+
var div = event.data.div;
|
|
51
|
+
var form = event.data.form;
|
|
52
|
+
var iframe = $("<iframe>").attr("class", "simple_attachments_iframe");
|
|
53
|
+
input.off();
|
|
54
|
+
$("body").append(iframe);
|
|
55
|
+
input.appendTo(form);
|
|
56
|
+
div.trigger("create_input");
|
|
57
|
+
iframe.bind("load", event.data, simple_attachments.sendForm);
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
sendForm: function(event) {
|
|
61
|
+
var iframe = $(event.currentTarget);
|
|
62
|
+
var div = event.data.div;
|
|
63
|
+
var form = event.data.form;
|
|
64
|
+
iframe.off();
|
|
65
|
+
form.appendTo(iframe.contents().find("body"));
|
|
66
|
+
form.submit();
|
|
67
|
+
iframe.bind("load", {field: div.get(0).giveField()}, simple_attachments.receiveForm);
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
receiveForm: function(event) {
|
|
71
|
+
var iframe = $(event.currentTarget);
|
|
72
|
+
var field = event.data.field;
|
|
73
|
+
var answer = $.parseJSON(iframe.contents().find("body").text());
|
|
74
|
+
var data = [answer.data];
|
|
75
|
+
if (answer.succeed) {
|
|
76
|
+
field.trigger("uploaded", data);
|
|
77
|
+
} else {
|
|
78
|
+
field.trigger("failed", data);
|
|
79
|
+
field.remove();
|
|
80
|
+
}
|
|
81
|
+
iframe.remove();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
$(function() {
|
|
87
|
+
|
|
88
|
+
$(".simple_attachments_multiple_div").each(function() {
|
|
89
|
+
this.input_name = $(this).attr("data-container-model")+"["+$(this).attr("data-method")+"_][]";
|
|
90
|
+
this.giveField = function() {
|
|
91
|
+
return this.createField();
|
|
92
|
+
}
|
|
93
|
+
this.loadAttached = function(attached) {
|
|
94
|
+
for (i in attached) {
|
|
95
|
+
var data = attached[i];
|
|
96
|
+
var field = this.createField();
|
|
97
|
+
field.trigger("uploaded", [attached[i]]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
$(".simple_attachments_singleton_div").each(function() {
|
|
103
|
+
this.input_name = $(this).attr("data-container-model")+"["+$(this).attr("data-method")+"_]";
|
|
104
|
+
this.giveField = function() {
|
|
105
|
+
var old_field = $(this).find(".simple_attachments_field_div");
|
|
106
|
+
var field = this.createField();
|
|
107
|
+
field.bind("uploaded", {old_field: old_field}, function(event) {
|
|
108
|
+
event.data.old_field.remove();
|
|
109
|
+
});
|
|
110
|
+
return field;
|
|
111
|
+
}
|
|
112
|
+
this.loadAttached = function(attached) {
|
|
113
|
+
if (attached) {
|
|
114
|
+
var field = this.createField();
|
|
115
|
+
field.trigger("uploaded", [attached]);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
$(".simple_attachments_div").each(function() {
|
|
121
|
+
var attached = $.parseJSON($(this).attr("data-attached"));
|
|
122
|
+
this.options = $.parseJSON($(this).attr("data-options"));
|
|
123
|
+
this.createField = function() {
|
|
124
|
+
var field = $("<div>").attr("class", "simple_attachments_field_div");
|
|
125
|
+
field.bind("uploaded", {div: this}, simple_attachments.setFieldsData);
|
|
126
|
+
$(this).trigger("new_field", [field]);
|
|
127
|
+
return field;
|
|
128
|
+
}
|
|
129
|
+
$(this).bind("create_input", simple_attachments.createInput);
|
|
130
|
+
$(this).trigger("init");
|
|
131
|
+
this.loadAttached(attached);
|
|
132
|
+
if (this.options.can_create)
|
|
133
|
+
$(this).trigger("create_input");
|
|
134
|
+
else
|
|
135
|
+
$(this).find(".simple_attachments_add_file_div").hide();
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
});
|