Skip to content

Commit 3761dda

Browse files
committed
Fix deliver_later and removed mc dependence in availabilities controller
1 parent 747a189 commit 3761dda

File tree

3 files changed

+24
-25
lines changed

3 files changed

+24
-25
lines changed

app/controllers/availabilities_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def load_all_availabilities
4343

4444
def load_all_users
4545
User.all.map do |u|
46-
[u.id, { username: u.username, mc: u.mc }]
46+
[u.id, { username: u.username}]
4747
end.to_h
4848
end
4949

app/controllers/duties_controller.rb

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ def drop
5858
swap_user(params[:user_id].to_i, duty)
5959
end
6060

61-
group_duties(duty_ids).each do |grouped_duty|
62-
drop_mail(params[:user_id].to_i, grouped_duty)
63-
end
61+
drop_mail(params[:user_id].to_i, duty_ids)
6462

6563
redirect_to duties_path, notice: 'Duty successfully dropped!'
6664
else
@@ -69,20 +67,6 @@ def drop
6967
end
7068
end
7169

72-
def group_duties(duty_id_list)
73-
duty_list = Duty.find(duty_id_list).map{ |duty| {start_time: duty.time_range.start_time,
74-
:end_time => duty.time_range.end_time, date: duty.date, place: duty.place.name}}
75-
result = [duty_list[0]]
76-
(1..duty_list.length - 1).each do |i|
77-
if (result[result.length - 1][:end_time] <=> duty_list[i][:start_time]) == 0
78-
result[result.length - 1][:end_time] = duty_list[i][:end_time]
79-
else
80-
result.push(duty_list[i])
81-
end
82-
end
83-
result
84-
end
85-
8670
private
8771

8872
def owned_duties?(duty_id_params, supposed_user)
@@ -99,11 +83,11 @@ def grabable?(duty_id_params)
9983
end
10084
end
10185

102-
def drop_mail(user_id, drop_duty)
86+
def drop_mail(user_id, drop_duty_ids)
10387
if user_id.zero?
104-
GenericMailer.drop_duty(drop_duty, User.pluck(:id))
88+
GenericMailer.drop_duty(drop_duty_ids, User.pluck(:id))
10589
else
106-
GenericMailer.drop_duty(drop_duty, user_id)
90+
GenericMailer.drop_duty(drop_duty_ids, user_id)
10791
.deliver_later
10892
end
10993
end

app/mailers/generic_mailer.rb

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,25 @@
33
class GenericMailer < ApplicationMailer
44
default from: %("NUSSU commIT" <duty@#{ENV['MAILGUN_DOMAIN']}>)
55

6-
def drop_duty(duty, user_ids)
7-
@duty = duty
8-
mail(to: users_with_name(user_ids),
9-
subject: generate_drop_duty_subject(duty))
6+
def drop_duty(duty_ids, user_ids)
7+
group_duties(duty_ids).each do |duty|
8+
mail(to: users_with_name(user_ids),
9+
subject: generate_drop_duty_subject(duty))
10+
end
11+
end
12+
13+
def group_duties(duty_id_list)
14+
duty_list = Duty.find(duty_id_list).map{ |duty| {start_time: duty.time_range.start_time,
15+
:end_time => duty.time_range.end_time, date: duty.date, place: duty.place.name}}
16+
result = [duty_list[0]]
17+
(1..duty_list.length - 1).each do |i|
18+
if (result[result.length - 1][:end_time] <=> duty_list[i][:start_time]) == 0
19+
result[result.length - 1][:end_time] = duty_list[i][:end_time]
20+
else
21+
result.push(duty_list[i])
22+
end
23+
end
24+
result
1025
end
1126

1227
def problem_report(problem)

0 commit comments

Comments
 (0)