diff --git a/app/jobs/regular/export_csv_file.rb b/app/jobs/regular/export_csv_file.rb index 8c215bdef8b..dad9ee55409 100644 --- a/app/jobs/regular/export_csv_file.rb +++ b/app/jobs/regular/export_csv_file.rb @@ -26,7 +26,7 @@ module Jobs user_data.each do |user| user_array = Array.new group_names = get_group_names(user).join(';') - user_array.push(user['id']).push(user['name']).push(user['username']).push(user['email']) + user_array = get_user_fields(user) user_array.push(group_names) if group_names != '' data.push(user_array) end @@ -51,6 +51,22 @@ module Jobs return group_names end + def get_user_fields(user) + csv_user_attrs = ['id','name','username','email','created_at'] + csv_user_stats_attr = ['topics_entered','posts_read_count','time_read','topic_count','post_count','likes_given','likes_received'] + user_array = [] + + csv_user_attrs.each do |user_attr| + user_array.push(user.attributes[user_attr]) + end + + csv_user_stats_attr.each do |user_stat_attr| + user_array.push(user.user_stat.attributes[user_stat_attr]) + end + + return user_array + end + def set_file_path @file_name = "export_#{SecureRandom.hex(4)}.csv" # ensure directory exists