Skip to content

Commit 529aeda

Browse files
authored
Merge branch '2.1' into master
2 parents aa7b3fa + 774de1e commit 529aeda

File tree

6 files changed

+35
-7
lines changed

6 files changed

+35
-7
lines changed

app/controllers/users_controller.rb

+1-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ def logged_in
77
end
88

99
def show
10-
respond_to do |format|
11-
format.json { render json: current_user }
12-
end
10+
render json: current_user
1311
end
1412
end

app/models/message.rb

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class Message < ApplicationRecord
3838
"questionnaire.rsvp_confirmed" => "Questionnaire Status: RSVP Confirmed",
3939
"questionnaire.rsvp_denied" => "Questionnaire Status: RSVP Denied",
4040
"questionnaire.rsvp_reminder" => "Questionnaire: RSVP Reminder",
41+
"questionnaire.checked-in" => "Questionnaire: Checked in",
4142
"user.24hr_incomplete_application" => "User: Incomplete application (24 hours later)",
4243
"bus_list.new_captain_confirmation" => "Bus List: New captain confirmation",
4344
"bus_list.notes_update" => "Bus List: Updated notes (manually triggered)"

app/models/questionnaire.rb

+6
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class Questionnaire < ApplicationRecord
1111
after_create :queue_triggered_email_create
1212
after_update :queue_triggered_email_update
1313
after_update :queue_triggered_email_rsvp_reminder
14+
after_update :queue_triggered_email_checked_in
1415
after_save :update_school_questionnaire_count
1516
after_destroy :update_school_questionnaire_count
1617

@@ -257,6 +258,11 @@ def queue_triggered_email_create
257258
Message.queue_for_trigger("questionnaire.#{acc_status}", user_id)
258259
end
259260

261+
def queue_triggered_email_checked_in
262+
return unless saved_change_to_checked_in_at && checked_in?
263+
Message.queue_for_trigger("questionnaire.checked-in", user_id)
264+
end
265+
260266
def queue_triggered_email_rsvp_reminder
261267
return unless saved_change_to_acc_status? && acc_status == "accepted"
262268

app/models/user.rb

+6
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,10 @@ def self.non_organizer
9090
def self.without_questionnaire
9191
non_organizer.left_outer_joins(:questionnaire).where(questionnaires: { id: nil })
9292
end
93+
94+
def as_json(options = {})
95+
result = super
96+
result['questionnaire_id'] = Questionnaire.where(user_id: id).any? ? Questionnaire.where(user_id: id).first.id : nil
97+
result
98+
end
9399
end

app/views/layouts/manage/application.html.haml

+6-4
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@
1212
= csrf_meta_tags
1313
1414
%body
15-
%nav.navbar.navbar-dark.fixed-top.bg-dark.flex-nowrap.p-0.shadow
15+
%nav.navbar.navbar-expand.navbar-dark.fixed-top.bg-dark.flex-nowrap.p-0.shadow
1616
%a.navbar-brand.col-xs-6.col-sm-3.col-md-2.mr-0{href: manage_root_path} #{HackathonConfig['name']} Manager
1717
/ %input.form-control.form-control-dark.w-100{"aria-label" => "Search", placeholder: "Search", type: "text"}/
18-
%span.navbar-brand.navbar-mobile-toggle.mr-0.pl-3.pr-3{onclick: 'toggleMobileNav()'}
19-
.fa.fa-bars.fa-fw.icon-space-r-half
20-
%ul.navbar-nav.px-3
18+
%ul.navbar-nav.ml-auto.px-3
19+
%li.nav-item.text-nowrap
20+
= link_to "Account", root_path, class: "nav-link"
2121
%li.nav-item.text-nowrap
2222
= link_to "Sign out", destroy_user_session_path, method: :delete, class: "nav-link"
23+
%span.navbar-brand.navbar-mobile-toggle.mr-0.pl-3.pr-3{onclick: 'toggleMobileNav()'}
24+
.fa.fa-bars.fa-fw.icon-space-r-half
2325
2426
.container-fluid
2527
.row

test/models/questionnaire_test.rb

+15
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,21 @@ class QuestionnaireTest < ActiveSupport::TestCase
488488
create(:questionnaire, acc_status: "pending")
489489
end
490490
end
491+
492+
should "send triggered email on checked in" do
493+
create(:message, trigger: "questionnaire.checked-in")
494+
assert_difference "enqueued_jobs.size", 1 do
495+
create(:questionnaire, checked_in_at: Time.now)
496+
end
497+
end
498+
499+
should "not send triggered email on checked out" do
500+
create(:message, trigger: "questionnaire.checked-in")
501+
questionnaire = create(:questionnaire, checked_in_at: Time.now)
502+
assert_difference "enqueued_jobs.size", 0 do
503+
questionnaire.update_attribute(:checked_in_at, nil)
504+
end
505+
end
491506
end
492507

493508
should "clean up bus-related fields when changing RSVP" do

0 commit comments

Comments
 (0)