fix MR comments

This commit is contained in:
Bilal
2020-07-13 14:04:14 +02:00
parent e0cf5ba875
commit 3ffa883462
13 changed files with 89 additions and 53 deletions

View File

@@ -21,7 +21,7 @@ class GenerateContractsZipJob < ApplicationJob
zipfile.add(attachment, File.join("#{dir}/", attachment))
end
if Object.const_get(@release_type).include?(CsvExportable)
if @release_type.constantize.include?(CsvExportable)
csv_file = generate_csv releases
zipfile.get_output_stream("#{@folder_name}.csv") { |f| f.puts(csv_file) }
end
@@ -49,7 +49,7 @@ class GenerateContractsZipJob < ApplicationJob
private
def generate_csv(releases)
release_class = Object.const_get @release_type
release_class = @release_type.constantize
headers = release_class.csv_headers
CSV.generate(headers: true) do |csv|

View File

@@ -11,6 +11,12 @@ class AcquiredMediaRelease < ApplicationRecord
include PersonName
include CsvExportable
class << self
def custom_csv_exportable_headers
%i[name file_infos_count]
end
end
has_many :file_infos, as: :releasable, dependent: :destroy
accepts_nested_attributes_for :file_infos
@@ -58,4 +64,8 @@ class AcquiredMediaRelease < ApplicationRecord
def uses_edl?
true
end
def file_infos_count
file_infos.any? ? file_infos.size : I18n.t('acquired_media_releases.acquired_media_release.no_media')
end
end

View File

@@ -17,6 +17,12 @@ class AppearanceRelease < ApplicationRecord
include SecondGuardianName
include CsvExportable
class << self
def custom_csv_exportable_headers
%i[name contact_info]
end
end
has_one_attached :person_photo
composed_of :person_address,

View File

@@ -6,64 +6,29 @@ module CsvExportable
COMMON_HEADERS = %i[notes tags signed_at].freeze
COMMON_VALUES = %w[clean_notes clean_tags signed_on].freeze
HEADERS = {
acquired_media_release: %i[name file_infos_count] + COMMON_HEADERS,
appearance_release: %i[name contact_info] + COMMON_HEADERS,
location_release: %i[name address] + COMMON_HEADERS,
material_release: %i[name] + COMMON_HEADERS,
medical_release: %i[approved name contact_info] + COMMON_HEADERS,
misc_release: %i[name contact_info] + COMMON_HEADERS,
music_release: %i[name file_infos_count composers_count publishers_count] + COMMON_HEADERS,
talent_release: %i[name phone email] + COMMON_HEADERS
}.freeze
VALUES = {
acquired_media_release: %w[name file_count] + COMMON_VALUES,
appearance_release: %w[name contact_info] + COMMON_VALUES,
location_release: %w[name address] + COMMON_VALUES,
material_release: %w[name] + COMMON_VALUES,
medical_release: %w[approved? name contact_info] + COMMON_VALUES,
misc_release: %w[name contact_info] + COMMON_VALUES,
music_release: %w[name music_file_count music_composers_count music_publishers_count] + COMMON_VALUES,
talent_release: %w[name person_phone person_email] + COMMON_VALUES
}.freeze
included do
class << self
def custom_csv_exportable_headers
[]
end
def csv_headers
plural_class_name = self.name.underscore.pluralize
headers = HEADERS[self.name.underscore.to_sym]
headers = custom_csv_exportable_headers + COMMON_HEADERS
headers.map do |header|
I18n.t("#{plural_class_name}.index.table_headers.#{header}")
I18n.t("#{model_name.plural}.index.table_headers.#{header}")
end
end
end
def to_csv_row
VALUES[self.class.name.underscore.to_sym].map do |function|
(self.class.custom_csv_exportable_headers + COMMON_VALUES).map do |function|
send(function)
end
end
private
def file_count
self.file_infos.any? ? self.file_infos.size : I18n.t('acquired_media_releases.acquired_media_release.no_media')
end
def music_file_count
file_infos.size
end
def music_composers_count
composers.size
end
def music_publishers_count
publishers.size
end
def contact_info
contact_info = ''
contact_info += "#{person_address}; " if person_address.present?

View File

@@ -12,6 +12,12 @@ class LocationRelease < ApplicationRecord
include PersonName
include CsvExportable
class << self
def custom_csv_exportable_headers
%i[name address]
end
end
composed_of :address,
mapping: [
%w(address_street1 street1),

View File

@@ -11,8 +11,14 @@ class MaterialRelease < ApplicationRecord
include Taggable
include PersonName
include CsvExportable
composed_of :person_address,
class << self
def custom_csv_exportable_headers
%i[name]
end
end
composed_of :person_address,
class_name: "Address",
mapping: [
%w(person_address_street1 street1),
@@ -31,15 +37,15 @@ class MaterialRelease < ApplicationRecord
validates :signature, attached: true
end
searchable_on %i[
name
searchable_on %i[
name
person_address_street1 person_address_street2 person_address_city person_address_state person_address_zip person_address_country
]
def contact_person
@contact_person ||= Contact.new(person_name, person_address, person_email, person_phone)
end
def minor?
false
end

View File

@@ -13,6 +13,12 @@ class MedicalRelease < ApplicationRecord
include SecondGuardianName
include CsvExportable
class << self
def custom_csv_exportable_headers
%i[approved? name contact_info]
end
end
NUMBER_OF_CUSTOM_FIELDS = 15
composed_of :person_address,

View File

@@ -11,6 +11,12 @@ class MiscRelease < ApplicationRecord
include GuardianPhotoable
include CsvExportable
class << self
def custom_csv_exportable_headers
%i[name contact_info]
end
end
NUMBER_OF_CUSTOM_FIELDS = 15
composed_of :person_address,

View File

@@ -8,7 +8,13 @@ class MusicRelease < ApplicationRecord
include Taggable
include PersonName
include CsvExportable
class << self
def custom_csv_exportable_headers
%i[name file_infos_count composers_count publishers_count]
end
end
has_many :file_infos, as: :releasable, dependent: :destroy
has_many :composers, dependent: :destroy
has_many :publishers, dependent: :destroy
@@ -73,6 +79,18 @@ class MusicRelease < ApplicationRecord
false
end
def file_infos_count
file_infos.size
end
def composers_count
composers.size
end
def publishers_count
publishers.size
end
private
def publisher_percentages_add_up_to_100

View File

@@ -16,6 +16,12 @@ class TalentRelease < ApplicationRecord
include SecondGuardianName
include CsvExportable
class << self
def custom_csv_exportable_headers
%i[name phone email]
end
end
composed_of :person_address,
class_name: "Address",
mapping: [
@@ -87,6 +93,14 @@ class TalentRelease < ApplicationRecord
person_name
end
def phone
person_phone
end
def email
person_email
end
def filename_suffix
"#{person_last_name} #{person_first_name}"
end

View File

@@ -803,6 +803,7 @@ en:
empty: Medical releases will appear here
table_headers:
approved: Approved
approved?: Approved
contact_info: Contact info
name: Person name
notes: Notes

View File

@@ -334,6 +334,7 @@ es:
index:
table_headers:
approved: Approved (ES)
approved?: Approved (ES)
contact_info: Contact info (ES)
name: Person name (ES)
notes: Notes (ES)

View File

@@ -65,9 +65,6 @@ describe GenerateContractsZipJob do
end
end
end
end
context "When there are errors" do