From 3eec39c5dfadf18ae9abc33af72e0c5d381f3452 Mon Sep 17 00:00:00 2001 From: Michael Herzberg Date: Fri, 22 Feb 2019 01:34:50 +0000 Subject: [PATCH] Improved report stuff. --- .gitignore | 6 ++---- app/controllers/reports_controller.rb | 5 ++--- config/application.rb | 1 + lib/tasks/sample_data.rake | 4 ++-- public/reports/.keep | 0 public/uploads/.keep | 0 6 files changed, 7 insertions(+), 9 deletions(-) delete mode 100644 public/reports/.keep delete mode 100644 public/uploads/.keep 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