hackathon_manager 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -18
  3. data/Rakefile +0 -4
  4. data/app/assets/stylesheets/variables.sass +2 -2
  5. data/app/controllers/rsvps_controller.rb +9 -2
  6. data/app/helpers/hackathon_manager_helper.rb +1 -1
  7. data/app/mailers/mailer.rb +1 -1
  8. data/app/models/questionnaire.rb +2 -2
  9. data/app/views/devise/registrations/_form.html.haml +1 -1
  10. data/app/views/devise/sessions/_form.html.haml +1 -1
  11. data/app/views/layouts/_sidebar.html.haml +1 -1
  12. data/app/views/layouts/hackathon_manager.html.haml +1 -1
  13. data/app/views/layouts/mailer.html.erb +2 -2
  14. data/app/views/layouts/manage/application.html.haml +2 -2
  15. data/app/views/mailer/accepted_email.html.erb +1 -6
  16. data/app/views/mailer/application_confirmation_email.html.erb +1 -4
  17. data/app/views/mailer/bus_captain_confirmation_email.html.erb +3 -3
  18. data/app/views/mailer/denied_email.html.erb +11 -5
  19. data/app/views/mailer/incomplete_reminder_email.html.erb +2 -2
  20. data/app/views/mailer/rsvp_confirmation_email.html.erb +2 -4
  21. data/app/views/mailer/slack_invite_email.html.erb +1 -1
  22. data/app/views/manage/messages/_form.html.haml +2 -2
  23. data/app/views/manage/questionnaires/_form.html.haml +6 -3
  24. data/app/views/questionnaires/_form.html.haml +7 -1
  25. data/app/views/questionnaires/edit.html.haml +1 -1
  26. data/app/views/questionnaires/new.html.haml +1 -1
  27. data/app/views/questionnaires/show.html.haml +1 -1
  28. data/app/views/rsvps/show.html.haml +6 -5
  29. data/app/workers/bulk_message_worker.rb +1 -0
  30. data/config/initializers/devise.rb +2 -2
  31. data/lib/hackathon_manager/engine.rb +3 -3
  32. data/lib/hackathon_manager/version.rb +1 -1
  33. metadata +5 -8
  34. data/app/views/layouts/blank.html.haml +0 -12
  35. data/app/views/layouts/dayof.html.haml +0 -12
  36. data/app/views/mailer/_getting_there.html.erb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b094f3052081eed2e1934b6d9614f3445d375650
4
- data.tar.gz: 52e54d51b7842bc792b6331f292994134ae3bed6
3
+ metadata.gz: 2d769ad27d242f7c487aaa9542b69bf461a3fe55
4
+ data.tar.gz: 54d6ab6dfcf4ca79a50e6960bc9fa7b245880ad2
5
5
  SHA512:
6
- metadata.gz: b09f0085305e16198ed495f6fc168813f5819eff20d39ad66fb0c3cc6902e3a4b207574c9cf756904218dc0d8dfb8a5558d292526bae4207890ccd5f4e85cc43
7
- data.tar.gz: 53d3039108ff4f156d914d1f5847d7e2fe9fe5805e92a933adcea8a6c7c9ecbcf23af4b81995201016a2a1d31009d06a9223f9ae832fd7c2bfd52255fbd6ccfd
6
+ metadata.gz: 47bdf83e4dd74daea03cd814cd81e432db9f34b70ff3313dba2fa8c8925294563ed4ab6723d07bb4cc8c2f089af664244cbf1eece4a1d7c715e0c83ec0e75960
7
+ data.tar.gz: 6f3675d08ee13a019d05b731eb6e04eb0f8aa22405a7c237c18bb17e495980a15920d53a61a37466e6c35d8c7cbfcf71573904a18d3bd5a81972458e56b1b8f4
data/README.md CHANGED
@@ -53,29 +53,18 @@ Now, add our database migrations:
53
53
  $ bin/rails railties:install:migrations
54
54
  ```
55
55
 
56
- And finally, create the file `config/hackathon.yml`:
56
+ And finally, create the a `config/hackathon.yml` with the contents from [test/dummy/config/hackathon.yml](test/dummy/config/hackathon.yml). Be sure to make any necessary customizations!
57
57
 
58
- ```yaml
59
- defaults: &defaults
60
- registration_is_open: true
61
- event_is_over: false
62
- last_day_to_apply: <%= Date.new(2017, 2, 11) %>
63
- auto_late_waitlist: false
64
- logo_asset: logo.png
58
+ ### Customization
65
59
 
66
- development:
67
- <<: *defaults
60
+ * **Emails**: The default email templates are located at [`/app/views/mailer`](https://github.com/codeRIT/brickhack.io/tree/develop/app/views/mailer). You can override these templates by copying the specific template(s) to the same `/app/views/mailer` in your Rails app and making the changes you need.
61
+ * **Styling**: The style for management, application, and RSVP pages can be customized by modifying your Rails app's `/app/assets/stylesheets/variable-overrides.sass` file. You can see the defaults in the hackathon_manager [`varaibles.sass`](https://github.com/codeRIT/hackathon_manager/blob/master/app/assets/stylesheets/variables.sass). The style for all other pages is controlled by your own stylesheets - hackathon_manager does not control those.
68
62
 
69
- test: &test
70
- <<: *defaults
71
- last_day_to_apply: <%= 2.months.from_now %>
63
+ ## Deployment
72
64
 
73
- production:
74
- <<: *defaults
65
+ Deployment to Heroku and Dokku is supported out of the box, though anything that operates on Heroku's buildpacks should work too.
75
66
 
76
- staging:
77
- <<: *defaults
78
- ```
67
+ See [BrickHack's production setup](https://github.com/codeRIT/brickhack.io/wiki/Production-Environment-Setup) for detailed notes.
79
68
 
80
69
  ## Contributing
81
70
 
data/Rakefile CHANGED
@@ -17,11 +17,8 @@ end
17
17
  APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
18
  load 'rails/tasks/engine.rake'
19
19
 
20
-
21
20
  load 'rails/tasks/statistics.rake'
22
21
 
23
-
24
-
25
22
  require 'bundler/gem_tasks'
26
23
 
27
24
  require 'rake/testtask'
@@ -32,5 +29,4 @@ Rake::TestTask.new(:test) do |t|
32
29
  t.verbose = false
33
30
  end
34
31
 
35
-
36
32
  task default: :test
@@ -1,5 +1,5 @@
1
- // TODO: automatically generate a /app/assets/stylesheets/variables.sass
2
- // so people know they can override them
1
+ // TODO: automatically generate a /app/assets/stylesheets/variable-overrides.sass
2
+ // so people know they can override them, and provide instructions to modify this file.
3
3
 
4
4
  $orange : #f58625 !default
5
5
  $black : #201e1f !default
@@ -22,7 +22,7 @@ class RsvpsController < ApplicationController
22
22
  if @questionnaire.save
23
23
  Mailer.delay.rsvp_confirmation_email(@questionnaire.id)
24
24
  else
25
- flash[:notice] = "There was an error submitting your response, please check over your application and try again. Did you accept the BrickHack Agreement?"
25
+ flash[:notice] = rsvp_error_notice
26
26
  end
27
27
  redirect_to rsvp_path
28
28
  end
@@ -33,12 +33,14 @@ class RsvpsController < ApplicationController
33
33
  @questionnaire.acc_status_author_id = current_user.id
34
34
  @questionnaire.acc_status_date = Time.now
35
35
  unless @questionnaire.save
36
- flash[:notice] = "There was an error submitting your response, please check over your application and try again. Did you accept the BrickHack Agreement?"
36
+ flash[:notice] = rsvp_error_notice
37
37
  end
38
38
  redirect_to rsvp_path
39
39
  end
40
40
 
41
41
  # PUT /rsvp
42
+ # rubocop:disable CyclomaticComplexity
43
+ # rubocop:disable PerceivedComplexity
42
44
  def update
43
45
  unless @questionnaire.update_attributes(params.require(:questionnaire).permit(:agreement_accepted, :phone))
44
46
  flash[:notice] = @questionnaire.errors.full_messages.join(", ")
@@ -82,6 +84,11 @@ class RsvpsController < ApplicationController
82
84
 
83
85
  private
84
86
 
87
+ def rsvp_error_notice
88
+ hackathon_name = Rails.configuration.hackathon['name']
89
+ "There was an error submitting your response, please check over your application and try again. Did you accept the #{hackathon_name} Agreement?"
90
+ end
91
+
85
92
  def find_questionnaire
86
93
  @questionnaire = current_user.questionnaire
87
94
  end
@@ -1,6 +1,6 @@
1
1
  module HackathonManagerHelper
2
2
  def title(page_title)
3
- content_for(:title) { page_title + " - BrickHack" }
3
+ content_for(:title) { page_title + " - #{Rails.configuration.hackathon['name']}" }
4
4
  page_title
5
5
  end
6
6
 
@@ -2,7 +2,7 @@ class Mailer < ApplicationMailer
2
2
  include Roadie::Rails::Automatic
3
3
  add_template_helper(HackathonManagerHelper)
4
4
 
5
- default from: '"BrickHack" <noreply@coderit.org>'
5
+ default from: Rails.configuration.hackathon['email_from']
6
6
 
7
7
  def application_confirmation_email(questionnaire_id)
8
8
  @questionnaire = Questionnaire.find(questionnaire_id)
@@ -12,14 +12,14 @@ class Questionnaire < ApplicationRecord
12
12
  validates_presence_of :data_sharing_accepted, message: "Must accept"
13
13
 
14
14
  has_attached_file :resume
15
- validates_attachment_content_type :resume, content_type: %w(application/pdf), message: "Invalid file type"
15
+ validates_attachment_content_type :resume, content_type: %w[application/pdf], message: "Invalid file type"
16
16
  validates_attachment_size :resume, in: 0..2.megabytes, message: "File size is too big"
17
17
 
18
18
  include DeletableAttachment
19
19
 
20
20
  validates :portfolio_url, url: { allow_blank: true }
21
21
  validates :vcs_url, url: { allow_blank: true }
22
- validates_format_of :vcs_url, with: /((github.com\/\w+\/?)|(bitbucket.org\/\w+\/?))/, allow_blank: true, message: "Must be a GitHub or BitBucket url"
22
+ validates_format_of :vcs_url, with: %r{((github.com\/\w+\/?)|(bitbucket.org\/\w+\/?))}, allow_blank: true, message: "Must be a GitHub or BitBucket url"
23
23
 
24
24
  belongs_to :school
25
25
 
@@ -1,7 +1,7 @@
1
1
  = simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
2
2
  .form-actions
3
3
  .center
4
- = btn_link_to "Sign Up using My MLH &raquo;".html_safe, user_mlh_omniauth_authorize_path
4
+ = btn_link_to "Continue with My MLH &raquo;".html_safe, user_mlh_omniauth_authorize_path
5
5
  %p
6
6
  %em or create an account:
7
7
  .form-inputs
@@ -2,7 +2,7 @@
2
2
  .form-actions
3
3
  .center
4
4
  %p
5
- = btn_link_to "Sign in using My MLH &raquo;".html_safe, user_mlh_omniauth_authorize_path
5
+ = btn_link_to "Continue with My MLH &raquo;".html_safe, user_mlh_omniauth_authorize_path
6
6
  %p
7
7
  %em or use an account:
8
8
  .form-inputs
@@ -5,7 +5,7 @@
5
5
  - if Rails.configuration.hackathon['logo_asset']
6
6
  #logo-cta
7
7
  = link_to root_path do
8
- = image_tag Rails.configuration.hackathon['logo_asset'], id: "logo", alt: "BrickHack", title: "BrickHack"
8
+ = image_tag Rails.configuration.hackathon['logo_asset'], id: 'logo', alt: "#{Rails.configuration.hackathon['name']} logo", title: Rails.configuration.hackathon['name']
9
9
  - if user_signed_in?
10
10
  %div
11
11
  - if current_user.admin?
@@ -1,7 +1,7 @@
1
1
  !!! 5
2
2
  %html
3
3
  %head
4
- %title= yield(:title) || "BrickHack 3 - Feb 11-12, 2017"
4
+ %title= yield(:title) || Rails.configuration.hackathon['default_page_title']
5
5
  = stylesheet_link_tag "hackathon_manager/manage", media: "all"
6
6
  = csrf_meta_tags
7
7
 
@@ -3,7 +3,7 @@
3
3
  <title></title>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
5
  <style type="text/css">
6
- <%= Rails.env == "production" ? File.read(Rails.root.join("public" + ActionController::Base.helpers.asset_path("mailer.css"))).html_safe : Rails.application.assets["mailer"].to_s.html_safe %>
6
+ <%= Rails.env == "production" ? File.read(Rails.root.join("public" + ActionController::Base.helpers.asset_path("hackathon_manager/mailer.css"))).html_safe : Rails.application.assets["hackathon_manager/mailer"].to_s.html_safe %>
7
7
  </style>
8
8
  <meta name="robots" content="noindex,nofollow">
9
9
  </head>
@@ -25,7 +25,7 @@
25
25
  <tr>
26
26
  <td>
27
27
  <span>
28
- <%= link_to 'BrickHack', 'https://brickhack.io' %>
28
+ <%= link_to Rails.configuration.hackathon['name'], 'https://brickhack.io' %>
29
29
  </span>
30
30
  <span>
31
31
  <%= link_to 'Facebook', 'https://www.facebook.com/brickhackrit' %>
@@ -1,7 +1,7 @@
1
1
  !!! 5
2
2
  %html
3
3
  %head
4
- %title= yield(:title) || "Manage - BrickHack"
4
+ %title= yield(:title) || "Manage - #{Rails.configuration.hackathon['name']}"
5
5
  = stylesheet_link_tag "hackathon_manager/manage", :media => "all"
6
6
  = csrf_meta_tags
7
7
 
@@ -11,7 +11,7 @@
11
11
  = render "layouts/shared_footer"
12
12
  #main
13
13
  #manageNav
14
- %p BrickHack Manager
14
+ %p #{Rails.configuration.hackathon['name']} Manager
15
15
  = link_to "Dashboard", manage_root_path
16
16
  = link_to "Questionnaires", manage_questionnaires_path
17
17
  = link_to "Admins", manage_admins_path
@@ -1,13 +1,8 @@
1
1
  <h2>Congratulations <%= @questionnaire.first_name %>, you're in!</h2>
2
- <p>You have been accepted to attend BrickHack! Please RSVP:</p>
2
+ <p>You have been accepted to attend <%= Rails.configuration.hackathon['name'] %>! Please RSVP:</p>
3
3
  <p>
4
4
  <a href="https://brickhack.io/rsvp/accept" class="button" target="_blank">Yes, I will Attend &raquo;</a>
5
5
  <a href="https://brickhack.io/rsvp/deny" class="button" target="_blank">No, I Can't Attend &raquo;</a>
6
6
  <br>
7
7
  <small><i>Link not working? Go to <a href="https://brickhack.io/rsvp">brickhack.io/rsvp</a></i></small>
8
8
  </p>
9
- <p>Make sure to tell your family because they will be super proud of your accomplishment. It is time to get excited for a weekend long journey. Learn new things, meet new people from across North America, and create cool stuff. BrickHack will be taking place <strong>February 11th and 12th</strong> of this year at<br><br/><strong>Rochester Institute of Technology<br>Clark Gym<br>1 Lomb Memorial Dr<br>Rochester, NY 14623</strong></p>
10
- <%= render 'getting_there' %>
11
- <h3>More info to come!</h3>
12
- <p>We will be sending out more logistics information closer to BrickHack. Please RSVP to guarantee you get this information, and keep an eye out the week of February 6th!</p>
13
- <%= render 'questions' %>
@@ -3,11 +3,8 @@
3
3
  </h2>
4
4
 
5
5
  <p>Hey <%= @questionnaire.first_name %>,</p>
6
- <p>We've received your application to BrickHack 3! You'll be notified of your acceptance status in January.</p>
6
+ <p>We've received your application to <%= Rails.configuration.hackathon['name'] %>!</p>
7
7
  <p>If needed, you can edit your information by clicking the button below.</p>
8
8
  <%= link_to questionnaires_url, class: 'button' do %>
9
9
  My Profile
10
10
  <% end %>
11
- <% count = @questionnaire.school.questionnaires.count %>
12
- <p>In the meantime, <strong>invite your friends!</strong> Hacking is always fun as a team.</p>
13
- <p>Only <%= count == 1 ? '1 person has' : "#{count} people have" %> applied from <%= @questionnaire.school.name %> - spread the word!</p>
@@ -1,6 +1,6 @@
1
1
  <h2>You're a bus captain!</h2>
2
2
  <p>Hey <%= @user.first_name %>,</p>
3
- <p>Thanks for volunteering to be a bus captain! We know most people just want to hop on &amp; off the bus, but coordinating busses isn't that easy. Thanks to you, this bus to BrickHack can be a success!</p>
3
+ <p>Thanks for volunteering to be a bus captain! We know most people just want to hop on &amp; off the bus, but coordinating busses isn't that easy. Thanks to you, this bus to <%= Rails.configuration.hackathon['name'] %> can be a success!</p>
4
4
  <p>We've provided a portal to view all bus passengers for your bus, as well as provide important information about being a captain. <strong>Please take a look!</strong></p>
5
5
  <p>
6
6
  <a href="https://brickhack.io/bus_list" class="button" target="_blank">Bus List &raquo;</a>
@@ -8,5 +8,5 @@
8
8
  <small><i>Link not working? Go to <a href="https://brickhack.io/bus_list">brickhack.io/bus_list</a></i></small>
9
9
  </p>
10
10
  <p>This will be the central source of truth for passengers &amp; bus information, in addition to anything you hear from our travel director.</p>
11
- <p>This also means your <strong>name, email, and phone number</strong> are visible to everyone riding the bus. This information is taken straight from your BrickHack application, so please make sure it is up to date! You can check this at <a href="https://brickhack.io/apply">https://brickhack.io/apply</a></p>
12
- <p>Again, thank you so much for being a bus captain! If you have any questions at all, feel free to reach out to <a href="mailto:travel@codeRIT.org">travel@codeRIT.org</a>. We can't wait to see you at BrickHack!</p>
11
+ <p>This also means your <strong>name, email, and phone number</strong> are visible to everyone riding the bus. This information is taken straight from your <%= Rails.configuration.hackathon['name'] %> application, so please make sure it is up to date! You can check this at <a href="https://brickhack.io/apply">https://brickhack.io/apply</a></p>
12
+ <p>Again, thank you so much for being a bus captain! If you have any questions at all, feel free to reach out to <a href="mailto:travel@codeRIT.org">travel@codeRIT.org</a>. We can't wait to see you at <%= Rails.configuration.hackathon['name'] %>!</p>
@@ -1,5 +1,11 @@
1
- <h3>Dear <%= @questionnaire.first_name %>,</h3>
2
- <p>It is with our sincerest regret to inform you that our admissions committee has chosen to not accept your application to BrickHack at this time. We were overjoyed with the number of applicants we received (over 1,200!), but unfortunately we can not accept everyone due to capacity for only 400.<p>
3
- <p>We invite you to apply again next year. There are plenty of other hackathons this season, and it may not be too late to apply for those. Checkout <a href="https://mlh.io" target="_blank">https://mlh.io</a> to find out more information.</p>
4
- <p>Thank you for applying,<br>
5
- - The BrickHack Team</p>
1
+ <% raise 'Denied email template not implemented' %>
2
+ <%
3
+
4
+ # You'll probably want something along the lines of:
5
+ # <h3>Dear @questionnaire.first_name,</h3>
6
+ # <p>It is with our sincerest regret to inform you that our admissions committee has chosen to not accept your application to BrickHack at this time. We were overjoyed with the number of applicants we received, but unfortunately we can not accept everyone due to capacity for only 400.<p>
7
+ # <p>We invite you to apply again next year. There are plenty of other hackathons this season, and it may not be too late to apply for those. Checkout <a href="https://mlh.io" target="_blank">https://mlh.io</a> to find out more information.</p>
8
+ # <p>Thank you for applying,<br>
9
+ # - The BrickHack Team</p>
10
+
11
+ %>
@@ -1,6 +1,6 @@
1
1
  <h2>Finish Your Application</h2>
2
- <p>You're almost there! You completed the My MLH part of the application, but didn't finish the additional BrickHack-specific questions.</p>
2
+ <p>You're almost there! You completed the My MLH part of the application, but didn't finish the additional <%= Rails.configuration.hackathon['name'] %>-specific questions.</p>
3
3
  <p><strong>Your application will not be considered until it is completed.</strong></p>
4
4
  <p>Not to worry! Just head on back to the website, <a href="https://brickhack.io/apply">brickhack.io/apply</a>, sign in with your existing My MLH account (if necessary), and complete the application.</p>
5
5
  <p><a href="https://brickhack.io/apply" class="button">Finish Application »</a></p>
6
- <p>Happy hacking!<br> - The BrickHack Team</p>
6
+ <p>Happy hacking!<br> - The <%= Rails.configuration.hackathon['name'] %> Team</p>
@@ -1,8 +1,6 @@
1
1
  <h2>You are confirmed!</h2>
2
- <p>This is your confirmation for BrickHack! Can't wait to see you there. In the meantime, follow us on <a href="https://www.facebook.com/brickhackrit">Facebook</a> and <a href="https://twitter.com/brickhackrit">Twitter</a> to get news and updates.</p>
3
- <p><strong>If you can no longer attend, let us know! <a href="https://brickhack.io/rsvp/deny" target="_blank">I Can No Longer Attend &raquo;</a></strong></p>
2
+ <p>This is your confirmation for <%= Rails.configuration.hackathon['name'] %>! We can't wait to see you there. In the meantime, follow us on <a href="https://www.facebook.com/brickhackrit">Facebook</a> and <a href="https://twitter.com/brickhackrit">Twitter</a> to get news and updates.</p>
3
+ <p><strong>If you can no longer attend, please let us know so we can open the spot to someone else. <a href="https://brickhack.io/rsvp/deny" target="_blank">I Can No Longer Attend &raquo;</a></strong></p>
4
4
  <h3>Meet Other Hackers</h3>
5
5
  <p>Join our <a href="https://www.facebook.com/groups/brickhack3attendees/" target="_blank">Facebook Group</a> to get in touch with other attendees. This will be the best way to find teammates if you don't have a team already!</p>
6
- <%= render 'getting_there' %>
7
6
  <%= render 'questions' %>
8
- <p><strong>If you can no longer attend, let us know! <a href="https://brickhack.io/rsvp/deny" target="_blank">I Can No Longer Attend &raquo;</a></strong></p>
@@ -1,7 +1,7 @@
1
1
  <% raise 'Slack invite URL missing' if ENV['SLACK_SIGNUP_URL'].blank? %>
2
2
  <h1>Join Slack!</h1>
3
3
  <p>Hey <%= @questionnaire.first_name %>,
4
- <p><a href="https://slack.com/is">Slack</a> is being used as a central communication platform for BrickHack.</p>
4
+ <p><a href="https://slack.com/is">Slack</a> is being used as a central communication platform at <%= Rails.configuration.hackathon['name'] %>.</p>
5
5
  <p>You can create private <strong>team chats</strong>, reach out to <strong>mentors</strong>, and more. Don't like notifications? Don't worry - you can <a href="https://get.slack.help/hc/en-us/articles/218074567-Customizing-notifications">customize them</a> or <a href="https://get.slack.help/hc/en-us/articles/214908388-Do-Not-Disturb-and-snooze-settings">turn them off entirely</a>.
6
6
  <p style="text-align: center;">
7
7
  <a href="<%= ENV['SLACK_SIGNUP_URL'] %>" class="button">Join our Slack &raquo;</a><br>
@@ -3,13 +3,13 @@
3
3
 
4
4
  .form-inputs
5
5
  = f.input :name
6
- = f.input :subject, hint: "All emails are from \"BrickHack\""
6
+ = f.input :subject, hint: "All emails are from <pre>#{html_escape(Rails.configuration.hackathon['email_from'])}</pre>".html_safe
7
7
  = f.input :template, as: :select, collection: Message::POSSIBLE_TEMPLATES.map { |x| [x.titleize, x] }, include_blank: false
8
8
  = f.input :recipients, as: :select, collection: Message::POSSIBLE_RECIPIENTS.invert, input_html: { class: "selectize", multiple: true }
9
9
  = f.input :body, input_html: { rows: 10 }
10
10
  %p
11
11
  %small
12
- %em Markdown and HTML supported. codeRIT & BrickHack info will be appended to the email body.
12
+ %em Markdown and HTML supported.
13
13
 
14
14
  .form-actions
15
15
  = f.button :submit
@@ -49,9 +49,12 @@
49
49
  %p (school not eligible for bus)
50
50
 
51
51
  %p
52
- Please read the
53
- %a{href:"/assets/BrickHack_ReleaseAgreement.pdf", target:"_blank"} BrickHack Agreement
54
- = f.input :agreement_accepted, as: :formatted_boolean, label: "I accept the BrickHack Agreement", input_html: { "data-validate" => "presence" }
52
+ %small
53
+ Please read the
54
+ = link_to asset_url(Rails.configuration.hackathon['agreement_pdf_asset']), target: '_blank' do
55
+ #{Rails.configuration.hackathon['name']} Agreement
56
+ %span.fa.fa-external-link.icon-space-l-half
57
+ = f.input :agreement_accepted, as: :formatted_boolean, label: "I accept the #{Rails.configuration.hackathon['name']} Agreement", input_html: { "data-validate" => "presence" }
55
58
 
56
59
  .center
57
60
  = f.button :submit, value: ( @questionnaire.new_record? ? 'Create' : 'Save' )
@@ -52,7 +52,13 @@
52
52
  = f.input :travel_location, input_html: { "data-validate" => "presence", disabled: !travel_state }, wrapper_html: { style: travel_state ? "" : "display: none" }, label: "Where are you traveling from?", placeholder: "New York City"
53
53
  %hr
54
54
  %div
55
- = f.input :agreement_accepted, as: :formatted_boolean, label: "I accept the BrickHack Agreement", input_html: { "data-validate" => "presence" }
55
+ %p
56
+ %small
57
+ Please read the
58
+ = link_to asset_url(Rails.configuration.hackathon['agreement_pdf_asset']), target: '_blank' do
59
+ #{Rails.configuration.hackathon['name']} Agreement
60
+ %span.fa.fa-external-link.icon-space-l-half
61
+ = f.input :agreement_accepted, as: :formatted_boolean, label: "I accept the #{Rails.configuration.hackathon['name']} Agreement", input_html: { "data-validate" => "presence" }
56
62
  %p
57
63
  %small
58
64
  Please read the
@@ -2,7 +2,7 @@
2
2
  .container
3
3
  - title "Edit Application"
4
4
  .form-container
5
- %h1.section-title Edit BrickHack Application
5
+ %h1.section-title Edit #{Rails.configuration.hackathon['name']} Application
6
6
 
7
7
  = render 'form'
8
8
 
@@ -2,6 +2,6 @@
2
2
  .container
3
3
  - title "Apply"
4
4
  .form-container
5
- %h1.section-title Apply for BrickHack
5
+ %h1.section-title Apply for #{Rails.configuration.hackathon['name']}
6
6
 
7
7
  = render 'form'
@@ -5,7 +5,7 @@
5
5
  - if @questionnaire.can_rsvp?
6
6
  - if @questionnaire.did_rsvp?
7
7
  %p
8
- Below is a copy of your information for BrickHack.
8
+ Below is a copy of your information for #{Rails.configuration.hackathon['name']}.
9
9
  = link_to "Back to RSVP page &raquo;".html_safe, rsvp_path
10
10
  - else
11
11
  %p
@@ -1,6 +1,6 @@
1
1
  %section.section.manage
2
2
  - title "RSVP"
3
- %h1.section-title RSVP for BrickHack
3
+ %h1.section-title RSVP for #{Rails.configuration.hackathon['name']}
4
4
  .form-container
5
5
  #disclaimer
6
6
  - if flash[:notice]
@@ -9,14 +9,15 @@
9
9
  %br
10
10
  - if @questionnaire.acc_status == "rsvp_confirmed" || @questionnaire.checked_in?
11
11
  .fa.fa-check
12
- Congratulations! You're all set to attend BrickHack!
12
+ Congratulations! You're all set to attend #{Rails.configuration.hackathon['name']}.
13
13
  %br
14
14
  %br
15
15
  Expect an email closer to February 11th with additional logistics & travel info.
16
16
  - elsif @questionnaire.acc_status == "rsvp_denied"
17
17
  Sorry to hear you won't be with us this year.
18
18
  - else
19
- You've been accepted to BrickHack! Will you be attending?
19
+ You've been accepted to #{Rails.configuration.hackathon['name']}!
20
+ Will you be attending?
20
21
  = simple_form_for @questionnaire, url: url_for(controller: "rsvps", action: "update"), html: { "data-validate" => "form" } do |f|
21
22
  .form-inputs
22
23
  = f.input :acc_status, as: :radio_buttons, collection: { " Attending" => "rsvp_confirmed", " Not Attending" => "rsvp_denied" }, label: "RSVP Status:"
@@ -28,7 +29,7 @@
28
29
  - if @questionnaire.eligible_for_a_bus?
29
30
  - if !@questionnaire.riding_bus && @questionnaire.bus_list.full?
30
31
  #disclaimer
31
- Aw, shucks. Your school is eligible for a bus to BrickHack, but all the seats are currently taken.
32
+ Aw, shucks. Your school is eligible for a bus, but all the seats are currently taken.
32
33
  - else
33
34
  #disclaimer
34
35
  - if @questionnaire.riding_bus && @questionnaire.acc_status != "rsvp_denied"
@@ -40,7 +41,7 @@
40
41
  .fa.fa-warning
41
42
  Your bus is currently full. If you are no longer riding, please update your status so someone else may use it.
42
43
  - else
43
- Good news! Your school is eligible for a bus to BrickHack! Will you be riding on the bus?
44
+ Good news! Your school is eligible for a bus! Will you be riding?
44
45
 
45
46
  = f.input :riding_bus, as: :radio_buttons, collection: { " Yes!" => true, " No thank you" => false }, label: "Riding the bus:"
46
47
  %p You MUST sign up here if you wish to ride the bus! IDs will be checked at boarding.
@@ -25,6 +25,7 @@ class BulkMessageWorker
25
25
  recipients
26
26
  end
27
27
 
28
+ # rubocop:disable CyclomaticComplexity
28
29
  def recipients_query(type)
29
30
  case type
30
31
  when "all"
@@ -41,12 +41,12 @@ Devise.setup do |config|
41
41
  # Configure which authentication keys should be case-insensitive.
42
42
  # These keys will be downcased upon creating or modifying a user and when used
43
43
  # to authenticate or find a user. Default is :email.
44
- config.case_insensitive_keys = [ :email ]
44
+ config.case_insensitive_keys = [:email]
45
45
 
46
46
  # Configure which authentication keys should have whitespace stripped.
47
47
  # These keys will have whitespace before and after removed upon creating or
48
48
  # modifying a user and when used to authenticate or find a user. Default is :email.
49
- config.strip_whitespace_keys = [ :email ]
49
+ config.strip_whitespace_keys = [:email]
50
50
 
51
51
  # Tell if authentication through request.params is enabled. True by default.
52
52
  # It can be set to an array that will enable params authentication only for the
@@ -1,18 +1,18 @@
1
1
  Gem.loaded_specs['hackathon_manager'].dependencies.each do |d|
2
- require d.name
2
+ require d.name
3
3
  end
4
4
 
5
5
  module HackathonManager
6
6
  class Engine < ::Rails::Engine
7
7
  initializer "hackathon_manager.assets.precompile" do |app|
8
- app.config.assets.precompile += %w(
8
+ app.config.assets.precompile += %w[
9
9
  hackathon_manager/manage.css
10
10
  hackathon_manager/home.css
11
11
  hackathon_manager/vendor/*.js
12
12
  hackathon_manager/vendor/*.css
13
13
  hackathon_manager/mailer.css
14
14
  hackathon_manager/us.json
15
- )
15
+ ]
16
16
  end
17
17
 
18
18
  ActionController::Base.class_eval do
@@ -1,3 +1,3 @@
1
1
  module HackathonManager
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hackathon_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Olivera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-23 00:00:00.000000000 Z
11
+ date: 2017-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 5.0.0
131
+ version: 5.1.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 5.0.0
138
+ version: 5.1.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: aws-sdk
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -529,12 +529,9 @@ files:
529
529
  - app/views/devise/sessions/new.html.haml
530
530
  - app/views/layouts/_shared_footer.html.haml
531
531
  - app/views/layouts/_sidebar.html.haml
532
- - app/views/layouts/blank.html.haml
533
- - app/views/layouts/dayof.html.haml
534
532
  - app/views/layouts/hackathon_manager.html.haml
535
533
  - app/views/layouts/mailer.html.erb
536
534
  - app/views/layouts/manage/application.html.haml
537
- - app/views/mailer/_getting_there.html.erb
538
535
  - app/views/mailer/_questions.html.erb
539
536
  - app/views/mailer/accepted_email.html.erb
540
537
  - app/views/mailer/application_confirmation_email.html.erb
@@ -659,7 +656,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
659
656
  version: '0'
660
657
  requirements: []
661
658
  rubyforge_project:
662
- rubygems_version: 2.6.11
659
+ rubygems_version: 2.6.13
663
660
  signing_key:
664
661
  specification_version: 4
665
662
  summary: Full-featured application for managing hackathon logistics
@@ -1,12 +0,0 @@
1
- !!! 5
2
- %html
3
- %head
4
- %title BrickHack 3 - Feb 11-12, 2017
5
- = render "layouts/shared_head"
6
- = stylesheet_link_tag "application", :media => "all"
7
- = csrf_meta_tags
8
-
9
- %body
10
- = yield
11
- = javascript_include_tag "application"
12
- = render "layouts/shared_footer"
@@ -1,12 +0,0 @@
1
- !!! 5
2
- %html
3
- %head
4
- %title BrickHack
5
- = render "layouts/shared_head"
6
- = stylesheet_link_tag "application", :media => "all"
7
- = csrf_meta_tags
8
- %body
9
- .day-of
10
- = yield
11
- = javascript_include_tag "application"
12
- = javascript_include_tag "vendor/owl.carousel.min.js"
@@ -1,14 +0,0 @@
1
- <h3>Getting There - Busses</h3>
2
- <p>Buses are being provided to Buffalo, Binghamton, Cornell, and Albany. If you are eligible, you will be given an option to sign up on the <a href="https://brickhack.io/rsvp">RSVP form</a>. <strong>You must RSVP and sign up for the bus to guarantee a seat!</strong></p>
3
- <p>If you live near these areas but don't see the bus sign-up option, please email <a href="mailto:travel@codeRIT.org">travel@codeRIT.org</a>.</p>
4
- <h3>Getting There - Driving</h3>
5
- <p>If there isn't a bus available for your school, don't fret! We encourage you to carpool with others from your school.</p>
6
- <p><strong>A car pool list</strong> is available at the below link. If you're driving and would be open to taking a few more attendees with you, please list yourself!</p>
7
- <% raise 'Carpool link missing' if ENV['CARPOOL_LINK'].blank? %>
8
- <p><%= link_to ENV['CARPOOL_LINK'], ENV['CARPOOL_LINK'] %></p>
9
- <p>For those driving, you can put <em>1 Lomb Memorial Drive, Rochester, NY 14623</em> into your GPS. This will take you to the main RIT entrance, which will include a roundabout. Take the third exit off the roundabout and park in either lot to your left or right.</p>
10
- <p><em>Unfortunately we are unable to provide travel reimbursements due to university policy.</em></p>
11
- <% if asset_available? 'brickhack-parking.png' %>
12
- <p><%= link_to image_tag('brickhack-parking.png', width: '400px').html_safe, image_url('brickhack-parking.png') %></p>
13
- <p><%= link_to 'Full-size Image &raquo;'.html_safe, image_url('brickhack-parking.png') %></p>
14
- <% end %>