|
1 | 1 | class Import < ActiveRecord::Base |
2 | | - mount_uploader :offenders_file, FileUploader |
| 2 | + mount_uploader :offenders_file_1, FileUploader |
| 3 | + mount_uploader :offenders_file_2, FileUploader |
| 4 | + mount_uploader :offenders_file_3, FileUploader |
| 5 | + mount_uploader :offenders_file_4, FileUploader |
| 6 | + mount_uploader :offenders_file_5, FileUploader |
| 7 | + mount_uploader :offenders_file_6, FileUploader |
3 | 8 |
|
4 | | - validates :offenders_file, presence: true |
5 | | - validate :offenders_file_uniqueness |
| 9 | + validates :offenders_file_1, presence: true |
6 | 10 |
|
7 | | - after_create :create_upload |
| 11 | + validate :offenders_file_1_uniqueness |
| 12 | + validate :offenders_file_2_uniqueness |
| 13 | + validate :offenders_file_3_uniqueness |
| 14 | + validate :offenders_file_4_uniqueness |
| 15 | + validate :offenders_file_5_uniqueness |
| 16 | + validate :offenders_file_6_uniqueness |
| 17 | + |
| 18 | + after_create :create_uploads |
8 | 19 |
|
9 | 20 | private |
10 | 21 |
|
11 | | - def create_upload |
12 | | - Upload.create(md5: offenders_file.md5) |
| 22 | + def create_uploads |
| 23 | + Upload.create(md5: offenders_file_1.md5) |
| 24 | + Upload.create(md5: offenders_file_2.md5) if offenders_file_2 |
| 25 | + Upload.create(md5: offenders_file_3.md5) if offenders_file_3 |
| 26 | + Upload.create(md5: offenders_file_4.md5) if offenders_file_4 |
| 27 | + Upload.create(md5: offenders_file_5.md5) if offenders_file_5 |
| 28 | + Upload.create(md5: offenders_file_6.md5) if offenders_file_6 |
| 29 | + end |
| 30 | + |
| 31 | + def offenders_file_1_uniqueness |
| 32 | + return unless Upload.where(md5: offenders_file_1.md5).any? |
| 33 | + errors[:base] << 'Offenders file 1 has already been uploaded' |
| 34 | + end |
| 35 | + |
| 36 | + def offenders_file_2_uniqueness |
| 37 | + return unless offenders_file_2.present? |
| 38 | + return unless Upload.where(md5: offenders_file_2.md5).any? |
| 39 | + errors[:base] << 'Offenders file 2 has already been uploaded' |
| 40 | + end |
| 41 | + |
| 42 | + def offenders_file_3_uniqueness |
| 43 | + return unless offenders_file_3.present? |
| 44 | + return unless Upload.where(md5: offenders_file_3.md5).any? |
| 45 | + errors[:base] << 'Offenders file 3 has already been uploaded' |
| 46 | + end |
| 47 | + |
| 48 | + def offenders_file_4_uniqueness |
| 49 | + return unless offenders_file_4.present? |
| 50 | + return unless Upload.where(md5: offenders_file_4.md5).any? |
| 51 | + errors[:base] << 'Offenders file 4 has already been uploaded' |
| 52 | + end |
| 53 | + |
| 54 | + def offenders_file_5_uniqueness |
| 55 | + return unless offenders_file_5.present? |
| 56 | + return unless Upload.where(md5: offenders_file_5.md5).any? |
| 57 | + errors[:base] << 'Offenders file 5 has already been uploaded' |
| 58 | + end |
| 59 | + |
| 60 | + def offenders_file_6_uniqueness |
| 61 | + return unless offenders_file_6.present? |
| 62 | + return unless Upload.where(md5: offenders_file_6.md5).any? |
| 63 | + errors[:base] << 'Offenders file 6 has already been uploaded' |
13 | 64 | end |
14 | 65 |
|
15 | | - def offenders_file_uniqueness |
16 | | - return unless Upload.where(md5: offenders_file.md5).any? |
17 | | - errors[:base] << 'This file has already been uploaded' |
| 66 | + def offender_files_md5s |
| 67 | + [offenders_file_1.md5, |
| 68 | + offenders_file_2.md5, |
| 69 | + offenders_file_3.md5, |
| 70 | + offenders_file_4.md5, |
| 71 | + offenders_file_5.md5, |
| 72 | + offenders_file_6.md5].compact |
18 | 73 | end |
19 | 74 | end |
0 commit comments