From 6c062c512b74d166946828cf8df2b70a11911ec0 Mon Sep 17 00:00:00 2001 From: Stuart Olivera Date: Wed, 29 May 2019 16:36:42 -0400 Subject: [PATCH 1/4] feat: Clean up datatables --- app/datatables/admin_datatable.rb | 2 +- app/datatables/application_datatable.rb | 4 ++++ app/datatables/checkin_datatable.rb | 2 +- app/datatables/questionnaire_datatable.rb | 6 +++--- app/datatables/school_datatable.rb | 2 +- app/views/manage/schools/show.html.haml | 2 +- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/datatables/admin_datatable.rb b/app/datatables/admin_datatable.rb index 7fc90affc..5d3039011 100644 --- a/app/datatables/admin_datatable.rb +++ b/app/datatables/admin_datatable.rb @@ -21,7 +21,7 @@ def data email: link_to(bold(record.email), manage_admin_path(record)), role: record.role.titleize, active: record.is_active ? 'Active'.html_safe : 'Inactive'.html_safe, - receive_weekly_report: record.receive_weekly_report ? 'Yes'.html_safe : 'No'.html_safe, + receive_weekly_report: yes_no_display(record.receive_weekly_report), created_at: display_datetime(record.created_at), } end diff --git a/app/datatables/application_datatable.rb b/app/datatables/application_datatable.rb index ded563ac6..f30e1af6d 100644 --- a/app/datatables/application_datatable.rb +++ b/app/datatables/application_datatable.rb @@ -6,4 +6,8 @@ def initialize(params, opts = {}) @view = opts[:view_context] super end + + def yes_no_display(value) + value ? 'Yes'.html_safe : 'No'.html_safe + end end diff --git a/app/datatables/checkin_datatable.rb b/app/datatables/checkin_datatable.rb index 2d19f0d37..6ad270086 100644 --- a/app/datatables/checkin_datatable.rb +++ b/app/datatables/checkin_datatable.rb @@ -25,7 +25,7 @@ def data first_name: record.first_name, last_name: record.last_name, about: about(record), - checked_in: record.checked_in? ? "Yes".html_safe : "No", + checked_in: yes_no_display(record.checked_in?), actions: "View".html_safe, } end diff --git a/app/datatables/questionnaire_datatable.rb b/app/datatables/questionnaire_datatable.rb index fb220cbcf..13fc7e4bc 100644 --- a/app/datatables/questionnaire_datatable.rb +++ b/app/datatables/questionnaire_datatable.rb @@ -57,9 +57,9 @@ def data phone: record.phone, gender: record.gender, date_of_birth: record.date_of_birth_formatted, - acc_status: "#{record.acc_status.titleize}".html_safe, - checked_in: record.checked_in? ? 'Yes'.html_safe : "No", - boarded_bus: record.boarded_bus? ? 'Yes'.html_safe : "No", + acc_status: "#{Questionnaire::POSSIBLE_ACC_STATUS[record.acc_status]}".html_safe, + checked_in: yes_no_display(record.checked_in?), + boarded_bus: yes_no_display(record.boarded_bus?), bus_captain: bus_captain(record), school: link_to(record.school.name, manage_school_path(record.school)), created_at: record.created_at.present? ? display_datetime(record.created_at) : "", diff --git a/app/datatables/school_datatable.rb b/app/datatables/school_datatable.rb index bc742239c..7209591bc 100644 --- a/app/datatables/school_datatable.rb +++ b/app/datatables/school_datatable.rb @@ -22,7 +22,7 @@ def data city: record.city, state: record.state, questionnaire_count: record.questionnaire_count, - home_school: record.is_home ? 'Yes'.html_safe : 'No'.html_safe, + home_school: yes_no_display(record.is_home), } end end diff --git a/app/views/manage/schools/show.html.haml b/app/views/manage/schools/show.html.haml index 5874dcdeb..9a08d1bc5 100644 --- a/app/views/manage/schools/show.html.haml +++ b/app/views/manage/schools/show.html.haml @@ -89,7 +89,7 @@ = render "questionnaire_datatable", scope_params: { school_id: @school.id }, page_length: 25, columns: %w(link note first_name last_name email acc_status checked_in created_at) -.row.mt-2.mb-4 +.row.mt-4.mb-5 .col-lg-6 %h4.border-bottom.pb-2.mb-3 Change History = render "model_history", model: @school From 14643c0274d29b6125d4b9fe9681e63abffddf84 Mon Sep 17 00:00:00 2001 From: Stuart Olivera Date: Wed, 29 May 2019 16:50:14 -0400 Subject: [PATCH 2/4] perf: Speed up questionnaire datatable --- app/datatables/questionnaire_datatable.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/datatables/questionnaire_datatable.rb b/app/datatables/questionnaire_datatable.rb index 13fc7e4bc..508697d47 100644 --- a/app/datatables/questionnaire_datatable.rb +++ b/app/datatables/questionnaire_datatable.rb @@ -38,9 +38,9 @@ def bus_captain(record) return record.is_bus_captain? ? 'Yes' : "No" unless current_user.admin? if record.is_bus_captain? - link_to("Remove", toggle_bus_captain_manage_bus_list_path(record.bus_list, questionnaire_id: record.id, bus_captain: "0"), method: "post", class: "text-danger") + link_to("Remove", toggle_bus_captain_manage_bus_list_path(record.bus_list_id, questionnaire_id: record.id, bus_captain: "0"), method: "post", class: "text-danger") else - link_to("Promote", toggle_bus_captain_manage_bus_list_path(record.bus_list, questionnaire_id: record.id, bus_captain: "1"), method: "post", data: { confirm: "Are you sure you want to make #{record.full_name} a bus captain? They will receive a confirmation email." }) + link_to("Promote", toggle_bus_captain_manage_bus_list_path(record.bus_list_id, questionnaire_id: record.id, bus_captain: "1"), method: "post", data: { confirm: "Are you sure you want to make #{record.full_name} a bus captain? They will receive a confirmation email." }) end end @@ -70,7 +70,7 @@ def data end def get_raw_records - records = Questionnaire.includes(:user, :school).references(:user, :school) + records = Questionnaire.includes(:user, :school, :bus_list).references(:user, :school, :bus_list) if @params[:school_id].present? records = records.where(school_id: @params[:school_id]) end From abc034de81df246eb0b89aca36f5310af38ee740 Mon Sep 17 00:00:00 2001 From: Stuart Olivera Date: Wed, 29 May 2019 16:50:48 -0400 Subject: [PATCH 3/4] feat: Alert confirmation after promoting/removing a bus captain --- app/controllers/manage/bus_lists_controller.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/controllers/manage/bus_lists_controller.rb b/app/controllers/manage/bus_lists_controller.rb index eeb5a719b..a6cb83807 100644 --- a/app/controllers/manage/bus_lists_controller.rb +++ b/app/controllers/manage/bus_lists_controller.rb @@ -44,14 +44,17 @@ def toggle_bus_captain is_bus_captain = params[:bus_captain] == "1" @questionnaire.update_attribute(:is_bus_captain, is_bus_captain) if @questionnaire.reload.is_bus_captain + flash[:notice] = "#{@questionnaire.full_name} has been promoted to a bus captain." Message.queue_for_trigger("bus_list.new_captain_confirmation", @questionnaire.user.id) + else + flash[:notice] = "#{@questionnaire.full_name} has been removed as a bus captain." end redirect_to [:manage, @bus_list] end def send_update_email if Message.for_trigger("bus_list.notes_update").empty? - flash[:alert] = 'Error: No automated message is configured for bus note updates!' + flash[:alert] = "Error: No automated message is configured for bus note updates!" redirect_to [:manage, @bus_list] return end @@ -59,7 +62,7 @@ def send_update_email @bus_list.passengers.each do |passenger| Message.queue_for_trigger("bus_list.notes_update", passenger.id).count end - flash[:notice] = 'Bus notes update emails have been sent' + flash[:notice] = "Bus notes update emails have been sent" redirect_to [:manage, @bus_list] end From 2ef80c1d9ee84da1ee0c2592e3d889570b141b7f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 29 May 2019 21:44:49 +0000 Subject: [PATCH 4/4] chore(release): 1.8.0 [skip ci] # [1.8.0](https://github.com/codeRIT/hackathon-manager/compare/v1.7.0...v1.8.0) (2019-05-29) ### Features * Alert confirmation after promoting/removing a bus captain ([abc034d](https://github.com/codeRIT/hackathon-manager/commit/abc034d)) * Clean up datatables ([6c062c5](https://github.com/codeRIT/hackathon-manager/commit/6c062c5)) ### Performance Improvements * Speed up questionnaire datatable ([14643c0](https://github.com/codeRIT/hackathon-manager/commit/14643c0)) --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7db07a66..9a4aaf1a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +# [1.8.0](https://github.com/codeRIT/hackathon-manager/compare/v1.7.0...v1.8.0) (2019-05-29) + + +### Features + +* Alert confirmation after promoting/removing a bus captain ([abc034d](https://github.com/codeRIT/hackathon-manager/commit/abc034d)) +* Clean up datatables ([6c062c5](https://github.com/codeRIT/hackathon-manager/commit/6c062c5)) + + +### Performance Improvements + +* Speed up questionnaire datatable ([14643c0](https://github.com/codeRIT/hackathon-manager/commit/14643c0)) + # [1.7.0](https://github.com/codeRIT/hackathon-manager/compare/v1.6.0...v1.7.0) (2019-05-29)