Skip to content

Commit 14eb861

Browse files
authored
Merge pull request #630 from codeRIT/2.2.1
develop <- 2.2.1
2 parents 3209439 + 43f7f5b commit 14eb861

19 files changed

+108
-52
lines changed

app/assets/javascripts/manage/lib/setupDataTables.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ var setupDataTables = function () {
132132
{ orderable: true, data: 'last_name' },
133133
{ orderable: true, data: 'email' },
134134
{ orderable: true, data: 'phone', visible: false },
135-
{ orderable: true, data: 'school_name' }
135+
{ orderable: true, data: 'school_name' },
136+
{ orderable: true, data: 'country' },
136137
]
137138
});
138139

@@ -144,7 +145,8 @@ var setupDataTables = function () {
144145
{ orderable: true, data: 'last_name' },
145146
{ orderable: true, data: 'email' },
146147
{ orderable: true, data: 'phone' },
147-
{ orderable: true, data: 'school_name' }
148+
{ orderable: true, data: 'school_name' },
149+
{ orderable: true, data: 'country' }
148150
]
149151
});
150152

app/controllers/application_controller.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ def after_sign_in_path_for(resource)
88
elsif current_user.questionnaire.nil?
99
new_questionnaires_path
1010
else
11-
@questionnaire = current_user.questionnaire
12-
@questionnaire.can_rsvp? ? rsvp_path : questionnaires_path
11+
questionnaires_path
1312
end
1413
end
1514
end

app/controllers/manage/events_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
class Manage::EventsController < Manage::ApplicationController
2-
before_action :require_director
2+
before_action :require_director_or_organizer, only: :index
3+
before_action :require_director, except: :index
34
respond_to :html, :json
45

56
def index

app/controllers/manage/questionnaires_controller.rb

Lines changed: 44 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -66,34 +66,43 @@ def update
6666
end
6767

6868
def check_in
69-
redirect_to_checkins = params[:redirect_to_checkins] || false
70-
show_redirect_path = redirect_to_checkins ? manage_checkin_path(@questionnaire) : manage_questionnaire_path(@questionnaire)
71-
index_redirect_path = redirect_to_checkins ? manage_checkins_path : manage_questionnaires_path
72-
if params[:check_in] == "true"
73-
if params[:questionnaire]
74-
q_params = params.require(:questionnaire).permit(:phone, :can_share_info, :email)
75-
email = q_params.delete(:email)
76-
@questionnaire.update_attributes(q_params)
77-
@questionnaire.user.update_attributes(email: email)
69+
respond_to do |format|
70+
format.json do
71+
if params[:check_in] == "true"
72+
check_in_attendee
73+
elsif params[:check_in] == "false"
74+
check_out_attendee
75+
end
7876
end
79-
unless @questionnaire.valid?
80-
flash[:alert] = @questionnaire.errors.full_messages.join(", ")
81-
redirect_to show_redirect_path
82-
return
77+
format.html do
78+
redirect_to_checkins = params[:redirect_to_checkins] || false
79+
show_redirect_path = redirect_to_checkins ? manage_checkin_path(@questionnaire) : manage_questionnaire_path(@questionnaire)
80+
index_redirect_path = redirect_to_checkins ? manage_checkins_path : manage_questionnaires_path
81+
if params[:check_in] == "true"
82+
if params[:questionnaire]
83+
q_params = params.require(:questionnaire).permit(:phone, :can_share_info, :email)
84+
email = q_params.delete(:email)
85+
@questionnaire.update_attributes(q_params)
86+
@questionnaire.user.update_attributes(email: email)
87+
end
88+
unless @questionnaire.valid?
89+
flash[:alert] = @questionnaire.errors.full_messages.join(", ")
90+
redirect_to show_redirect_path
91+
return
92+
end
93+
check_in_attendee
94+
flash[:notice] = t(:checked_in, scope: 'messages', user_full_name: @questionnaire.user.full_name)
95+
elsif params[:check_in] == "false"
96+
check_out_attendee
97+
flash[:notice] = t(:checked_out, scope: 'messages', user_full_name: @questionnaire.user.full_name)
98+
else
99+
flash[:alert] = t(:missing_check_in, scope: 'messages')
100+
redirect_to show_redirect_path
101+
return
102+
end
103+
redirect_to index_redirect_path
83104
end
84-
@questionnaire.update_attribute(:checked_in_at, Time.now)
85-
@questionnaire.update_attribute(:checked_in_by_id, current_user.id)
86-
flash[:notice] = "Checked in #{@questionnaire.user.full_name}."
87-
elsif params[:check_in] == "false"
88-
@questionnaire.update_attribute(:checked_in_at, nil)
89-
@questionnaire.update_attribute(:checked_in_by_id, current_user.id)
90-
flash[:notice] = "#{@questionnaire.user.full_name} no longer checked in."
91-
else
92-
flash[:alert] = "No check-in action provided!"
93-
redirect_to show_redirect_path
94-
return
95105
end
96-
redirect_to index_redirect_path
97106
end
98107

99108
def destroy
@@ -147,6 +156,16 @@ def bulk_apply
147156

148157
private
149158

159+
def check_in_attendee
160+
@questionnaire.update_attribute(:checked_in_at, Time.now)
161+
@questionnaire.update_attribute(:checked_in_by_id, current_user.id)
162+
end
163+
164+
def check_out_attendee
165+
@questionnaire.update_attribute(:checked_in_at, nil)
166+
@questionnaire.update_attribute(:checked_in_by_id, current_user.id)
167+
end
168+
150169
def questionnaire_params
151170
# Note that this ONLY considers parameters for the questionnaire, not the user.
152171
# TODO: Refactor "email" out to user as first_name and last_name were

app/datatables/applied_datatable.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ def view_columns
88
last_name: { source: "User.last_name" },
99
email: { source: "User.email" },
1010
phone: { source: "Questionnaire.phone" },
11+
country: { source: "Questionnaire.country" },
1112
school_name: { source: "School.name" }
1213
}
1314
end
@@ -22,6 +23,7 @@ def data
2223
last_name: record.user.last_name,
2324
email: record.user.email,
2425
phone: record.phone,
26+
country: record.country,
2527
school_name: record.school_name
2628
}
2729
end

app/datatables/checked_in_datatable.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ def view_columns
88
last_name: { source: "User.last_name" },
99
email: { source: "User.email" },
1010
phone: { source: "Questionnaire.phone" },
11+
country: { source: "Questionnaire.country" },
1112
school_name: { source: "School.name" }
1213
}
1314
end
@@ -22,6 +23,7 @@ def data
2223
last_name: record.user.last_name,
2324
email: record.user.email,
2425
phone: record.phone,
26+
country: record.country,
2527
school_name: record.school_name
2628
}
2729
end

app/datatables/questionnaire_datatable.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ def view_columns
1515
checked_in: { source: "Questionnaire.checked_in_at", searchable: false },
1616
boarded_bus: { source: "Questionnaire.boarded_bus_at", searchable: false },
1717
bus_captain: { source: "Questionnaire.is_bus_captain", searchable: false },
18+
country: { source: "Questionnaire.country" },
1819
school: { source: "School.name" },
1920
created_at: { source: "Questionnaire.created_at", searchable: false },
2021
dietary_restrictions: { source: "Questionnaire.dietary_restrictions", searchable: true },
@@ -62,6 +63,7 @@ def data
6263
boarded_bus: yes_no_display(record.boarded_bus?),
6364
bus_captain: bus_captain(record),
6465
school: link_to(record.school.name, manage_school_path(record.school)),
66+
country: record.country,
6567
created_at: record.created_at.present? ? display_datetime(record.created_at) : "",
6668
dietary_restrictions: record.dietary_restrictions,
6769
special_needs: record.special_needs,

app/jobs/generate_data_export_job.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ def generate__sponsor_dump(data_export, attendee_type)
5454
resume_paths = []
5555
questionnaires.each do |q|
5656
csv_row = [
57-
q.first_name,
58-
q.last_name,
57+
q.user.first_name,
58+
q.user.last_name,
59+
q.user.email,
5960
q.school_name,
60-
q.email,
6161
q.vcs_url,
6262
q.portfolio_url,
6363
]
@@ -81,7 +81,7 @@ def generate__sponsor_dump(data_export, attendee_type)
8181
csvfile_name = "000-Attendees.csv"
8282
csvfile_path = File.join(folder_path, csvfile_name)
8383
CSV.open(csvfile_path, "wb") do |csv|
84-
csv << ["Fist name", "Last name", "School", "Email", "VCS URL", "Portfolio URL", "Resume filename"]
84+
csv << ["First name", "Last name", "Email", "School", "VCS URL", "Portfolio URL", "Resume Filename"]
8585
csv_data.each do |row|
8686
csv << row
8787
end

app/models/data_export.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ def queued?
4040
def enqueue!
4141
raise "Data export has already been queued" unless status == "created_not_queued"
4242

43-
GenerateDataExportJob.perform_later(self)
4443
update_attribute(:queued_at, Time.now)
44+
GenerateDataExportJob.perform_later(self)
4545
end
4646

4747
def status

app/models/questionnaire.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ class Questionnaire < ApplicationRecord
2222
validates_uniqueness_of :user_id
2323

2424
validates_presence_of :phone, :date_of_birth, :school_id, :experience, :shirt_size, :interest
25-
validates_presence_of :gender, :major, :level_of_study, :graduation_year, :race_ethnicity
26-
validates :country, presence: { message: %[information is missing from application. Please update your <a href="#{Rails.application.routes.url_helpers.edit_questionnaires_path}">Application</a>] }
25+
validates_presence_of :gender, :major, :level_of_study, :graduation_year, :race_ethnicity, :country
2726

2827
DIETARY_SPECIAL_NEEDS_MAX_LENGTH = 500
2928
validates_length_of :dietary_restrictions, maximum: DIETARY_SPECIAL_NEEDS_MAX_LENGTH

0 commit comments

Comments
 (0)