diff --git a/lib/tasks/award_badge_once.rake b/lib/tasks/award_badge_once.rake new file mode 100644 index 00000000..95fa33d5 --- /dev/null +++ b/lib/tasks/award_badge_once.rake @@ -0,0 +1,30 @@ +namespace :award_badge_once do + desc "TODO" + task award_organized_badge: :environment do + @projects = Project.all + @edition = Edition.last + @projects.each do |project| + is_organised_flag = true + @edition.weeks.each do |week| + @tasks = project.tasks.where(week: week.number) + if (@tasks.count < 1) + is_organised_flag = false + break + end + end + if (is_organised_flag) + print project.title + assign_organised_badge(project) + end + end + end + + private + def assign_organised_badge(project) + unless project.mentee.badges.timekeeper.any? + project.mentee.badges << Badge.organized + end + end + +end +