hackathon_manager 0.8.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5775620daf8c377219c92030597cc0a434171196d7a870f6cc02dfac917300ba
4
- data.tar.gz: a547d9b36e8f2f162d7e74d2a580e267638df51e160e5c89aac4dccf28d3bbbc
3
+ metadata.gz: 1f89949d65a0c100dfd2b6d0d31156b77ccabfefdea2432d6e22bec6bcc50ee8
4
+ data.tar.gz: 5b827226987d2e296b3775c0b2c102332e6e9c6b8351cd77945c5254fad348b5
5
5
  SHA512:
6
- metadata.gz: 1b4a9207773c048fc5b5bcd5e7fe3676845013701a338d65d8e9a4fd7a9c602ac0d45fa95d002d7e3f0a5e5a0912075f50ce57cabb0b6200ac80547a7ce1be2f
7
- data.tar.gz: 2ea117e9b78d5e447025eb07cd94e333bb3d83c725e682b16255e48a7d0f560bd752540643fe652fdf2e3733734a271913246b36b4072b21e271d62fd8042ed7
6
+ metadata.gz: ddffa76edd2a4eae2136629598070ae83319b618cf63035844545c58931bb9dfdcb0b10317a86ff8d5403977a167dc00ef2670085f00bdbf094096e3ff777ca1
7
+ data.tar.gz: c9881ea59a09602e0a01a0a108423b9f013a1fda0a0fcdff9b5a202354626e2d05419552026e0e10606f2aa92b3707115855b7faf40be0309b084f3afda11357
@@ -130,4 +130,4 @@ $grey-med: #999
130
130
  .email-preview
131
131
  width: 100%
132
132
  border: 2px solid $grey-med
133
- min-height: 500px
133
+ min-height: 800px
@@ -156,7 +156,8 @@ class Manage::QuestionnairesController < Manage::ApplicationController
156
156
  :portfolio_url, :vcs_url, :agreement_accepted, :bus_captain_interest,
157
157
  :riding_bus, :phone, :can_share_info, :code_of_conduct_accepted,
158
158
  :travel_not_from_school, :travel_location, :data_sharing_accepted,
159
- :resume, :delete_resume, :is_bus_captain, :why_attend
159
+ :graduation_year, :race_ethnicity, :resume, :delete_resume, :why_attend,
160
+ :is_bus_captain
160
161
  )
161
162
  end
162
163
 
@@ -127,7 +127,7 @@ class QuestionnairesController < ApplicationController
127
127
  :portfolio_url, :vcs_url, :agreement_accepted, :bus_captain_interest,
128
128
  :riding_bus, :phone, :can_share_info, :code_of_conduct_accepted,
129
129
  :travel_not_from_school, :travel_location, :data_sharing_accepted,
130
- :resume, :delete_resume, :why_attend
130
+ :graduation_year, :race_ethnicity, :resume, :delete_resume, :why_attend
131
131
  )
132
132
  end
133
133
 
@@ -1,5 +1,5 @@
1
1
  class AdminDatatable < AjaxDatatablesRails::Base
2
- def_delegators :@view, :link_to, :manage_admin_path
2
+ def_delegators :@view, :link_to, :manage_admin_path, :bold
3
3
 
4
4
  def view_columns
5
5
  @view_columns ||= {
@@ -15,7 +15,7 @@ class AdminDatatable < AjaxDatatablesRails::Base
15
15
  records.map do |record|
16
16
  {
17
17
  id: record.id,
18
- email: link_to(record.email, manage_admin_path(record)),
18
+ email: link_to(bold(record.email), manage_admin_path(record)),
19
19
  admin_limited_access: record.admin_limited_access ? 'Limited Access' : 'Full Access'
20
20
  }
21
21
  end
@@ -1,5 +1,5 @@
1
1
  class BulkMessageDatatable < AjaxDatatablesRails::Base
2
- def_delegators :@view, :link_to, :manage_message_path, :display_datetime
2
+ def_delegators :@view, :link_to, :manage_message_path, :display_datetime, :bold
3
3
 
4
4
  def view_columns
5
5
  @view_columns ||= {
@@ -18,7 +18,7 @@ class BulkMessageDatatable < AjaxDatatablesRails::Base
18
18
  records.map do |record|
19
19
  {
20
20
  id: record.id,
21
- name: link_to(record.name, manage_message_path(record)),
21
+ name: link_to(bold(record.name), manage_message_path(record)),
22
22
  subject: record.subject,
23
23
  status: record.status.titleize,
24
24
  created_at: display_datetime(record.created_at),
@@ -1,5 +1,5 @@
1
1
  class QuestionnaireDatatable < AjaxDatatablesRails::Base
2
- def_delegators :@view, :link_to, :manage_questionnaire_path, :manage_school_path, :current_user, :acc_status_class, :display_datetime
2
+ def_delegators :@view, :link_to, :manage_questionnaire_path, :manage_school_path, :current_user, :acc_status_class, :display_datetime, :bold
3
3
 
4
4
  def view_columns
5
5
  @view_columns ||= {
@@ -29,8 +29,8 @@ class QuestionnaireDatatable < AjaxDatatablesRails::Base
29
29
  link: link_to('<i class="fa fa-search"></i>'.html_safe, manage_questionnaire_path(record)),
30
30
  note: record.minor? ? '<div class="center"><i class="fa fa-exclamation-triangle icon-space-r"></i> Minor</div>'.html_safe : '',
31
31
  id: record.id,
32
- first_name: record.first_name,
33
- last_name: record.last_name,
32
+ first_name: bold(record.first_name),
33
+ last_name: bold(record.last_name),
34
34
  email: record.email,
35
35
  phone: record.phone,
36
36
  gender: record.gender,
@@ -1,5 +1,5 @@
1
1
  class SchoolDatatable < AjaxDatatablesRails::Base
2
- def_delegators :@view, :link_to, :manage_school_path, :manage_bus_list_path
2
+ def_delegators :@view, :link_to, :manage_school_path, :manage_bus_list_path, :bold
3
3
 
4
4
  def view_columns
5
5
  @view_columns ||= {
@@ -17,7 +17,7 @@ class SchoolDatatable < AjaxDatatablesRails::Base
17
17
  records.map do |record|
18
18
  {
19
19
  id: record.id,
20
- name: link_to(record.name, manage_school_path(record)),
20
+ name: link_to(bold(record.name), manage_school_path(record)),
21
21
  city: record.city,
22
22
  state: record.state,
23
23
  questionnaire_count: record.questionnaire_count,
@@ -26,6 +26,10 @@ module HackathonManagerHelper
26
26
  markdown.render(text).html_safe
27
27
  end
28
28
 
29
+ def bold(value)
30
+ "<strong>#{h(value)}</strong>".html_safe
31
+ end
32
+
29
33
  # Same as link_to, but adds a special active class whenever the link matches
30
34
  # the current page.
31
35
  # Only https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/url_helper.rb
@@ -1,4 +1,6 @@
1
1
  class Message < ApplicationRecord
2
+ self.inheritance_column = nil # To enable using "type" field
3
+
2
4
  validates_presence_of :name, :subject, :template
3
5
  validates_presence_of :body, if: :using_default_template?
4
6
 
@@ -8,7 +8,7 @@ class Questionnaire < ApplicationRecord
8
8
  after_destroy :update_school_questionnaire_count
9
9
 
10
10
  validates_presence_of :first_name, :last_name, :phone, :date_of_birth, :school_id, :experience, :shirt_size, :interest
11
- validates_presence_of :gender, :major, :level_of_study
11
+ validates_presence_of :gender, :major, :level_of_study, :graduation_year, :race_ethnicity
12
12
  validates_presence_of :agreement_accepted, message: "Please read & accept"
13
13
  validates_presence_of :code_of_conduct_accepted, message: "Please read & accept"
14
14
  validates_presence_of :data_sharing_accepted, message: "Please read & accept"
@@ -67,6 +67,18 @@ class Questionnaire < ApplicationRecord
67
67
  "rsvp_denied" => "RSVP Denied"
68
68
  }.freeze
69
69
 
70
+ POSSIBLE_GRAD_YEARS = (Date.today.year - 3...Date.today.year + 7).to_a.freeze
71
+
72
+ POSSIBLE_RACE_ETHNICITIES = [
73
+ "American Indian or Alaskan Native",
74
+ "Asian / Pacific Islander",
75
+ "Black or African American",
76
+ "Hispanic",
77
+ "White / Caucasian",
78
+ "Multiple ethnicities / Other",
79
+ "Prefer not to answer"
80
+ ].freeze
81
+
70
82
  # From My MLH's dropdown list.
71
83
  # Should *not* validate against this list in case My MLH changes their options,
72
84
  # as this would cause errors until a manual gem update
@@ -21,7 +21,8 @@
21
21
  - if messages.present?
22
22
  %ul.list-unstyled.mb-0
23
23
  - messages.each do |message|
24
- %li= link_to(message.name, manage_message_path(message))
24
+ %li
25
+ %strong= link_to(message.name, manage_message_path(message))
25
26
  - else
26
27
  None
27
28
  %tr
@@ -31,6 +32,7 @@
31
32
  - if messages.present?
32
33
  %ul.list-unstyled.mb-0
33
34
  - messages.each do |message|
34
- %li= link_to(message.name, manage_message_path(message))
35
+ %li
36
+ %strong= link_to(message.name, manage_message_path(message))
35
37
  - else
36
38
  None
@@ -13,7 +13,8 @@
13
13
  %tbody
14
14
  - @bus_lists.each do |bus_list|
15
15
  %tr
16
- %td= link_to(bus_list.name, manage_bus_list_path(bus_list))
16
+ %td
17
+ %strong= link_to(bus_list.name, manage_bus_list_path(bus_list))
17
18
  %td #{bus_list.passengers.count} / #{bus_list.capacity}
18
19
  %td= bus_list.needs_bus_captain ? "<strong class=\"text-danger\">Needs bus captain</strong>".html_safe : "No"
19
20
  %td= bus_list.schools.count
@@ -17,7 +17,7 @@
17
17
  .row
18
18
  .col-lg-6.mb-3
19
19
  %h5.mb-3 Body
20
- = f.input :body, input_html: { rows: 23, 'data-message-live-preview' => 'textarea', class: 'text-monospace', style: 'font-size: 14px' }, hint: "Supports markdown and HTML", label: false, wrapper: :bootstrap_inline_form
20
+ = f.input :body, input_html: { rows: 36, 'data-message-live-preview' => 'textarea', class: 'text-monospace', style: 'font-size: 14px' }, hint: "Supports markdown and HTML", label: false, wrapper: :bootstrap_inline_form
21
21
  .col-lg-6.mb-3
22
22
  %h5.mb-3 Preview
23
23
  %iframe.email-preview{src: live_preview_manage_messages_path(body: @message.body), 'data-message-live-preview' => 'iframe', 'data-message-live-preview-base-src' => live_preview_manage_messages_path}
@@ -32,6 +32,9 @@
32
32
  = f.input :experience, as: :select, collection: Questionnaire::POSSIBLE_EXPERIENCES.invert, include_blank: "(select one...)", label: "Experience", input_html: { "data-validate" => "presence" }
33
33
  = f.input :interest, as: :select, collection: Questionnaire::POSSIBLE_INTERESTS.invert, include_blank: "(select one...)", label: "Interest", input_html: { "data-validate" => "presence" }
34
34
 
35
+ = f.input :graduation_year, as: :select, collection: Questionnaire::POSSIBLE_GRAD_YEARS, include_blank: "(select one...)", label: "Graduation year", input_html: { "data-validate" => "presence" }, wrapper_html: { class: 'input--half' }
36
+ = f.input :race_ethnicity, as: :select, collection: Questionnaire::POSSIBLE_RACE_ETHNICITIES, include_blank: "(select one...)", label: "Race/Ethnicity", input_html: { "data-validate" => "presence" }, wrapper_html: { class: 'input--half' }
37
+
35
38
  = f.input :resume, as: :deletable_attachment, hint: "Must be under 2MB", input_html: { "data-validate" => "file-max-size file-content-type", "data-validate-file-max-size" => "2097152", "data-validate-file-content-type" => "application/pdf" }, label: "Resume (PDF)"
36
39
 
37
40
  = f.input :portfolio_url, label: "Portfolio Link"
@@ -34,6 +34,9 @@
34
34
  = f.input :experience, as: :select, collection: Questionnaire::POSSIBLE_EXPERIENCES.invert, include_blank: "(select one...)", label: "Experience", input_html: { "data-validate" => "presence" }, wrapper_html: { class: 'input--half' }
35
35
  = f.input :interest, as: :select, collection: Questionnaire::POSSIBLE_INTERESTS.invert, include_blank: "(select one...)", label: "Interest", input_html: { "data-validate" => "presence" }, wrapper_html: { class: 'input--half' }
36
36
 
37
+ = f.input :graduation_year, as: :select, collection: Questionnaire::POSSIBLE_GRAD_YEARS, include_blank: "(select one...)", label: "Graduation year", input_html: { "data-validate" => "presence" }, wrapper_html: { class: 'input--half' }
38
+ = f.input :race_ethnicity, as: :select, collection: Questionnaire::POSSIBLE_RACE_ETHNICITIES, include_blank: "(select one...)", label: "Race/Ethnicity", input_html: { "data-validate" => "presence" }, wrapper_html: { class: 'input--half' }
39
+
37
40
  = f.input :portfolio_url, label: "Portfolio link", placeholder: "http://mywebsite.com"
38
41
  = f.input :vcs_url, label: "GitHub/Bitbucket link", placeholder: "https://github.com/coderit"
39
42
  = f.input :resume, as: :deletable_attachment, hint: "Must be a PDF, under 2MB", input_html: { "data-validate" => "file-max-size file-content-type", "data-validate-file-max-size" => "2097152", "data-validate-file-content-type" => "application/pdf" }, label: "Resume"
@@ -0,0 +1,6 @@
1
+ class AddGradYearAndRaceEthnicityToQuestionnaires < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :questionnaires, :graduation_year, :integer, limit: 4
4
+ add_column :questionnaires, :race_ethnicity, :string
5
+ end
6
+ end
@@ -1,3 +1,3 @@
1
1
  module HackathonManager
2
- VERSION = '0.8.2'.freeze
2
+ VERSION = '0.9.0'.freeze
3
3
  end
@@ -18,6 +18,8 @@ FactoryBot.define do
18
18
  gender { "Male" }
19
19
  major { "Computer Science" }
20
20
  level_of_study { "University (Undergraduate)" }
21
+ graduation_year { Date.today.year }
22
+ race_ethnicity { "Other" }
21
23
  why_attend { "This sounds cool" }
22
24
 
23
25
  association :user
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hackathon_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Olivera
@@ -655,6 +655,7 @@ files:
655
655
  - db/migrate/20180126174252_add_boarded_bus_to_questionnaires.rb
656
656
  - db/migrate/20180701160855_remove_email_from_questionnaires.rb
657
657
  - db/migrate/20180801144544_add_type_to_messages.rb
658
+ - db/migrate/20181125213158_add_grad_year_and_race_ethnicity_to_questionnaires.rb
658
659
  - db/schools.csv
659
660
  - db/seed_messages/questionnaire--accepted.md
660
661
  - db/seed_messages/questionnaire--denied.md