diff options
Diffstat (limited to 'app/services/issues/export_csv_service.rb')
-rw-r--r-- | app/services/issues/export_csv_service.rb | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/app/services/issues/export_csv_service.rb b/app/services/issues/export_csv_service.rb index 8f513632929..2181c46c90d 100644 --- a/app/services/issues/export_csv_service.rb +++ b/app/services/issues/export_csv_service.rb @@ -1,36 +1,14 @@ # frozen_string_literal: true module Issues - class ExportCsvService + class ExportCsvService < Issuable::ExportCsv::BaseService include Gitlab::Routing.url_helpers include GitlabRoutingHelper - # Target attachment size before base64 encoding - TARGET_FILESIZE = 15000000 - - attr_reader :project - - def initialize(issues_relation, project) - @issues = issues_relation - @labels = @issues.labels_hash - @project = project - end - - def csv_data - csv_builder.render(TARGET_FILESIZE) - end - def email(user) Notify.issues_csv_email(user, project, csv_data, csv_builder.status).deliver_now end - # rubocop: disable CodeReuse/ActiveRecord - def csv_builder - @csv_builder ||= - CsvBuilder.new(@issues.preload(associations_to_preload), header_to_value_hash) - end - # rubocop: enable CodeReuse/ActiveRecord - private def associations_to_preload @@ -63,7 +41,7 @@ module Issues end def issue_labels(issue) - @labels[issue.id].sort.join(',').presence + issuables.labels_hash[issue.id].sort.join(',').presence end # rubocop: disable CodeReuse/ActiveRecord |