simple_attachments 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
});
|