diff --git a/.gitignore b/.gitignore index c882881..e4d8ae3 100644 --- a/.gitignore +++ b/.gitignore @@ -26,9 +26,7 @@ doc/rdocs /vendor *.swp -public/reports/* -!public/reports/.keep -public/uploads/* -!public/uploads/.keep +/public/reports +/reports storage diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index cbd501f..f889b26 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -1,12 +1,11 @@ class ReportsController < ApplicationController - @@report_dir = Rails.root.join("public", "reports") - def create if logged_in_as_student user = current_user filename = user.id.to_s + ".pdf" report = GradeReport.new(user, Grade.where(:student => user)) - report.render_file @@report_dir.join(filename) + FileUtils.mkdir_p(Rails.configuration.report_dir) unless File.directory?(Rails.configuration.report_dir) + report.render_file Rails.configuration.report_dir.join(filename) redirect_to action: 'show', filename: filename else diff --git a/config/application.rb b/config/application.rb index 92af8b4..e8148d7 100644 --- a/config/application.rb +++ b/config/application.rb @@ -15,5 +15,6 @@ module DVGM # Application configuration can go into files in config/initializers # -- all .rb files in that directory are automatically loaded after loading # the framework and any gems in your application. + config.report_dir = Rails.root.join("public", "reports") end end diff --git a/lib/tasks/sample_data.rake b/lib/tasks/sample_data.rake index f33e494..03180f3 100644 --- a/lib/tasks/sample_data.rake +++ b/lib/tasks/sample_data.rake @@ -1,10 +1,10 @@ namespace :db do desc "Populate database with default data" def generate_report(user) - report_dir = Rails.root.join("public", "reports") + FileUtils.mkdir_p(Rails.configuration.report_dir) unless File.directory?(Rails.configuration.report_dir) filename = user.id.to_s + ".pdf" report = GradeReport.new(user, Grade.where(:student => user)) - report.render_file report_dir.join(filename) + report.render_file Rails.configuration.report_dir.join(filename) end task :populate => :environment do diff --git a/public/reports/.keep b/public/reports/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/public/uploads/.keep b/public/uploads/.keep deleted file mode 100644 index e69de29..0000000