Retrospring/app/controllers/settings/export_controller.rb

30 lines
708 B
Ruby

# frozen_string_literal: true
class Settings::ExportController < ApplicationController
before_action :authenticate_user!
before_action :mark_notifications_as_read, only: %i[index]
def index
flash[:info] = t(".info") if current_user.export_processing
end
def create
if current_user.can_export?
ExportWorker.perform_async(current_user.id)
flash[:success] = t(".success")
else
flash[:error] = t(".error")
end
redirect_to settings_export_path
end
private
def mark_notifications_as_read
Notification::DataExported
.where(recipient: current_user, new: true)
.update_all(new: false) # rubocop:disable Rails/SkipsModelValidations
end
end