fix MR comments
This commit is contained in:
@@ -21,7 +21,7 @@ class GenerateContractsZipJob < ApplicationJob
|
|||||||
zipfile.add(attachment, File.join("#{dir}/", attachment))
|
zipfile.add(attachment, File.join("#{dir}/", attachment))
|
||||||
end
|
end
|
||||||
|
|
||||||
if Object.const_get(@release_type).include?(CsvExportable)
|
if @release_type.constantize.include?(CsvExportable)
|
||||||
csv_file = generate_csv releases
|
csv_file = generate_csv releases
|
||||||
zipfile.get_output_stream("#{@folder_name}.csv") { |f| f.puts(csv_file) }
|
zipfile.get_output_stream("#{@folder_name}.csv") { |f| f.puts(csv_file) }
|
||||||
end
|
end
|
||||||
@@ -49,7 +49,7 @@ class GenerateContractsZipJob < ApplicationJob
|
|||||||
private
|
private
|
||||||
|
|
||||||
def generate_csv(releases)
|
def generate_csv(releases)
|
||||||
release_class = Object.const_get @release_type
|
release_class = @release_type.constantize
|
||||||
headers = release_class.csv_headers
|
headers = release_class.csv_headers
|
||||||
|
|
||||||
CSV.generate(headers: true) do |csv|
|
CSV.generate(headers: true) do |csv|
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ class AcquiredMediaRelease < ApplicationRecord
|
|||||||
include PersonName
|
include PersonName
|
||||||
include CsvExportable
|
include CsvExportable
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
%i[name file_infos_count]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
has_many :file_infos, as: :releasable, dependent: :destroy
|
has_many :file_infos, as: :releasable, dependent: :destroy
|
||||||
|
|
||||||
accepts_nested_attributes_for :file_infos
|
accepts_nested_attributes_for :file_infos
|
||||||
@@ -58,4 +64,8 @@ class AcquiredMediaRelease < ApplicationRecord
|
|||||||
def uses_edl?
|
def uses_edl?
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def file_infos_count
|
||||||
|
file_infos.any? ? file_infos.size : I18n.t('acquired_media_releases.acquired_media_release.no_media')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -17,6 +17,12 @@ class AppearanceRelease < ApplicationRecord
|
|||||||
include SecondGuardianName
|
include SecondGuardianName
|
||||||
include CsvExportable
|
include CsvExportable
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
%i[name contact_info]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
has_one_attached :person_photo
|
has_one_attached :person_photo
|
||||||
|
|
||||||
composed_of :person_address,
|
composed_of :person_address,
|
||||||
|
|||||||
@@ -6,64 +6,29 @@ module CsvExportable
|
|||||||
COMMON_HEADERS = %i[notes tags signed_at].freeze
|
COMMON_HEADERS = %i[notes tags signed_at].freeze
|
||||||
COMMON_VALUES = %w[clean_notes clean_tags signed_on].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
|
included do
|
||||||
class << self
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
|
||||||
def csv_headers
|
def csv_headers
|
||||||
plural_class_name = self.name.underscore.pluralize
|
headers = custom_csv_exportable_headers + COMMON_HEADERS
|
||||||
headers = HEADERS[self.name.underscore.to_sym]
|
|
||||||
|
|
||||||
headers.map do |header|
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_csv_row
|
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)
|
send(function)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
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
|
def contact_info
|
||||||
contact_info = ''
|
contact_info = ''
|
||||||
contact_info += "#{person_address}; " if person_address.present?
|
contact_info += "#{person_address}; " if person_address.present?
|
||||||
|
|||||||
@@ -12,6 +12,12 @@ class LocationRelease < ApplicationRecord
|
|||||||
include PersonName
|
include PersonName
|
||||||
include CsvExportable
|
include CsvExportable
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
%i[name address]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
composed_of :address,
|
composed_of :address,
|
||||||
mapping: [
|
mapping: [
|
||||||
%w(address_street1 street1),
|
%w(address_street1 street1),
|
||||||
|
|||||||
@@ -12,6 +12,12 @@ class MaterialRelease < ApplicationRecord
|
|||||||
include PersonName
|
include PersonName
|
||||||
include CsvExportable
|
include CsvExportable
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
%i[name]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
composed_of :person_address,
|
composed_of :person_address,
|
||||||
class_name: "Address",
|
class_name: "Address",
|
||||||
mapping: [
|
mapping: [
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ class MedicalRelease < ApplicationRecord
|
|||||||
include SecondGuardianName
|
include SecondGuardianName
|
||||||
include CsvExportable
|
include CsvExportable
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
%i[approved? name contact_info]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
NUMBER_OF_CUSTOM_FIELDS = 15
|
NUMBER_OF_CUSTOM_FIELDS = 15
|
||||||
|
|
||||||
composed_of :person_address,
|
composed_of :person_address,
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ class MiscRelease < ApplicationRecord
|
|||||||
include GuardianPhotoable
|
include GuardianPhotoable
|
||||||
include CsvExportable
|
include CsvExportable
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
%i[name contact_info]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
NUMBER_OF_CUSTOM_FIELDS = 15
|
NUMBER_OF_CUSTOM_FIELDS = 15
|
||||||
|
|
||||||
composed_of :person_address,
|
composed_of :person_address,
|
||||||
|
|||||||
@@ -9,6 +9,12 @@ class MusicRelease < ApplicationRecord
|
|||||||
include PersonName
|
include PersonName
|
||||||
include CsvExportable
|
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 :file_infos, as: :releasable, dependent: :destroy
|
||||||
has_many :composers, dependent: :destroy
|
has_many :composers, dependent: :destroy
|
||||||
has_many :publishers, dependent: :destroy
|
has_many :publishers, dependent: :destroy
|
||||||
@@ -73,6 +79,18 @@ class MusicRelease < ApplicationRecord
|
|||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def file_infos_count
|
||||||
|
file_infos.size
|
||||||
|
end
|
||||||
|
|
||||||
|
def composers_count
|
||||||
|
composers.size
|
||||||
|
end
|
||||||
|
|
||||||
|
def publishers_count
|
||||||
|
publishers.size
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def publisher_percentages_add_up_to_100
|
def publisher_percentages_add_up_to_100
|
||||||
|
|||||||
@@ -16,6 +16,12 @@ class TalentRelease < ApplicationRecord
|
|||||||
include SecondGuardianName
|
include SecondGuardianName
|
||||||
include CsvExportable
|
include CsvExportable
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def custom_csv_exportable_headers
|
||||||
|
%i[name phone email]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
composed_of :person_address,
|
composed_of :person_address,
|
||||||
class_name: "Address",
|
class_name: "Address",
|
||||||
mapping: [
|
mapping: [
|
||||||
@@ -87,6 +93,14 @@ class TalentRelease < ApplicationRecord
|
|||||||
person_name
|
person_name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def phone
|
||||||
|
person_phone
|
||||||
|
end
|
||||||
|
|
||||||
|
def email
|
||||||
|
person_email
|
||||||
|
end
|
||||||
|
|
||||||
def filename_suffix
|
def filename_suffix
|
||||||
"#{person_last_name} #{person_first_name}"
|
"#{person_last_name} #{person_first_name}"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -803,6 +803,7 @@ en:
|
|||||||
empty: Medical releases will appear here
|
empty: Medical releases will appear here
|
||||||
table_headers:
|
table_headers:
|
||||||
approved: Approved
|
approved: Approved
|
||||||
|
approved?: Approved
|
||||||
contact_info: Contact info
|
contact_info: Contact info
|
||||||
name: Person name
|
name: Person name
|
||||||
notes: Notes
|
notes: Notes
|
||||||
|
|||||||
@@ -334,6 +334,7 @@ es:
|
|||||||
index:
|
index:
|
||||||
table_headers:
|
table_headers:
|
||||||
approved: Approved (ES)
|
approved: Approved (ES)
|
||||||
|
approved?: Approved (ES)
|
||||||
contact_info: Contact info (ES)
|
contact_info: Contact info (ES)
|
||||||
name: Person name (ES)
|
name: Person name (ES)
|
||||||
notes: Notes (ES)
|
notes: Notes (ES)
|
||||||
|
|||||||
@@ -65,9 +65,6 @@ describe GenerateContractsZipJob do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "When there are errors" do
|
context "When there are errors" do
|
||||||
|
|||||||
Reference in New Issue
Block a user