diff --git a/app/models/unit.rb b/app/models/unit.rb index 3e7fddadb..3233babc4 100644 --- a/app/models/unit.rb +++ b/app/models/unit.rb @@ -1832,6 +1832,39 @@ def task_completion_csv end end + def aggregate_task_complete_stats + result = {} + + task_definitions.each do |td| + result[td.abbreviation] = {} + end + + active_projects.each do |project| + campus_name = project.campus.name + result[campus_name] ||= {} + + task_definitions.each do |td| + result[campus_name][td.abbreviation] ||= {} + + task = project.task_for_task_definition(td) + next unless task + + status = task.task_status.id.to_s + result[campus_name][td.abbreviation][status] ||= 0 + result[campus_name][td.abbreviation][status] += 1 + end + end + + result.inspect + + file_server = Doubtfire::Application.config.student_work_dir + analytics_dir = File.join(file_server, "analytics") + FileUtils.mkdir_p(analytics_dir) + + + File.write("#{analytics_dir}/#{code}-#{id}-stats.json", result.to_json) + end + def get_portfolio_zip_filename(current_user) filename = FileHelper.sanitized_filename("portfolios-#{code}-#{current_user.username}") "#{FileHelper.tmp_file(filename)}.zip"