Skip to content

Commit f37155a

Browse files
committed
refactor: Move submission url building to email builders
1 parent fa2c80a commit f37155a

File tree

2 files changed

+24
-26
lines changed

2 files changed

+24
-26
lines changed

lib/cadet/email.ex

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@ defmodule Cadet.Email do
99
if is_nil(avenger.email) do
1010
nil
1111
else
12+
ungraded_submissions =
13+
Enum.map(ungraded_submissions, fn submission ->
14+
Map.put(
15+
submission,
16+
:submission_url,
17+
build_submission_url(
18+
submission[:student_course_id],
19+
submission[:submission_id]
20+
)
21+
)
22+
end)
1223
base_email()
1324
|> to(avenger.email)
1425
|> assign(:avenger_name, avenger.name)
@@ -22,12 +33,18 @@ defmodule Cadet.Email do
2233
if is_nil(avenger.email) do
2334
nil
2435
else
36+
submission =
37+
Map.put(
38+
submission,
39+
:submission_url,
40+
build_submission_url(submission.assessment.course_id, submission.id)
41+
)
42+
2543
base_email()
2644
|> to(avenger.email)
2745
|> assign(:avenger_name, avenger.name)
2846
|> assign(:student_name, student.name)
29-
|> assign(:assessment_title, submission.assessment.title)
30-
|> assign(:submission_url, submission.submission_url)
47+
|> assign(:submission, submission)
3148
|> subject("New submission for #{submission.assessment.title}")
3249
|> render("#{template_file_name}.html")
3350
end
@@ -38,4 +55,9 @@ defmodule Cadet.Email do
3855
|> from("[email protected]")
3956
|> put_html_layout({CadetWeb.LayoutView, "email.html"})
4057
end
58+
59+
# TODO update this to use frontend url
60+
defp build_submission_url(course_id, submission_id) do
61+
"https://sourceacademy.org/courses/#{course_id}/grading/#{submission_id}"
62+
end
4163
end

lib/cadet/workers/NotificationWorker.ex

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ defmodule Cadet.Workers.NotificationWorker do
3535
end
3636
end
3737

38-
# TODO update this to use frontend url
39-
defp build_submission_url(course_id, submission_id) do
40-
"https://sourceacademy.org/courses/#{course_id}/grading/#{submission_id}"
41-
end
42-
4338
# Returns true if user preference matches the job's time option.
4439
# If user has made no preference, the default time option is used instead
4540
def is_user_time_option_matched(
@@ -86,18 +81,6 @@ defmodule Cadet.Workers.NotificationWorker do
8681
else
8782
IO.puts("[AVENGER_BACKLOG] SENDING_OUT")
8883

89-
ungraded_submissions =
90-
Enum.map(ungraded_submissions, fn submission ->
91-
Map.put(
92-
submission,
93-
:submission_url,
94-
build_submission_url(
95-
submission[:student_course_id],
96-
submission[:submission_id]
97-
)
98-
)
99-
end)
100-
10184
email =
10285
Email.avenger_backlog_email(
10386
ntype.template_file_name,
@@ -152,13 +135,6 @@ defmodule Cadet.Workers.NotificationWorker do
152135
true ->
153136
IO.puts("[ASSESSMENT_SUBMISSION] SENDING_OUT")
154137

155-
submission =
156-
Map.put(
157-
submission,
158-
:submission_url,
159-
build_submission_url(course_id, submission_id)
160-
)
161-
162138
email =
163139
Email.assessment_submission_email(
164140
notification_type.template_file_name,

0 commit comments

Comments
 (0)