Skip to content

Commit

Permalink
improved donation campaign nav
Browse files Browse the repository at this point in the history
  • Loading branch information
matchu committed Jan 5, 2017
1 parent 6a331bf commit f5fb871
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 9 deletions.
9 changes: 9 additions & 0 deletions app/assets/stylesheets/campaigns/_show.sass
Expand Up @@ -143,6 +143,15 @@ body.campaigns-show, body.campaigns-current
margin-top: 1em margin-top: 1em
text-align: center text-align: center


#outfits-header > *
display: inline-block

#all-campaigns-list
li
display: inline-block
list-style: none
margin-left: 1em

#fine-print #fine-print
font-size: 85% font-size: 85%
margin-top: 2em margin-top: 2em
9 changes: 7 additions & 2 deletions app/controllers/campaigns_controller.rb
Expand Up @@ -3,18 +3,23 @@ def show
@campaign = Campaign.find(params[:id]) @campaign = Campaign.find(params[:id])
redirect_to(action: :current) if @campaign.active? redirect_to(action: :current) if @campaign.active?
@donations = find_donations @donations = find_donations
@all_campaigns = find_all_campaigns
end end


def current def current
@campaign = Campaign.current @campaign = Campaign.current
@donations = find_donations @donations = find_donations
@all_campaigns = find_all_campaigns
render action: :show render action: :show
end end


private private


def find_all_campaigns
@all_campaigns = Campaign.order('created_at DESC').all
end

def find_donations def find_donations
@donations = @campaign.donations.includes(features: :outfit). @campaign.donations.includes(features: :outfit).order('created_at DESC')
order('created_at DESC')
end end
end end
21 changes: 16 additions & 5 deletions app/views/campaigns/show.html.haml
Expand Up @@ -3,7 +3,7 @@
- if @campaign.progress > 0 - if @campaign.progress > 0
= campaign_progress(@campaign) do = campaign_progress(@campaign) do
We've received #{cents_to_currency(@campaign.progress)} We've received #{cents_to_currency(@campaign.progress)}
toward #{@campaign.name}. toward #{@campaign.purpose}.
Thanks so much! Thanks so much!


= form_tag donations_path, method: 'POST', id: 'donation-form', = form_tag donations_path, method: 'POST', id: 'donation-form',
Expand Down Expand Up @@ -34,7 +34,16 @@
#description= emote_md @campaign.description #description= emote_md @campaign.description


- if @donations.present? - if @donations.present?
%h2 Thanks to our lovely donors! #outfits-header
%h2 Thanks to our lovely donors!
- if @all_campaigns.length > 1
%ul#all-campaigns-list
- @all_campaigns.each do |campaign|
%li
- if campaign == @campaign
%strong= campaign.name
- else
= link_to campaign.name, campaign
%ul#outfits %ul#outfits
- @donations.each do |donation| - @donations.each do |donation|
-# if large_donation?(donation.amount) -# if large_donation?(donation.amount)
Expand All @@ -51,9 +60,11 @@
= image_tag 'default_preview.png' = image_tag 'default_preview.png'


%header Thanks, #{donation.donor_name.presence || 'Anonymous'}! %header Thanks, #{donation.donor_name.presence || 'Anonymous'}!

- else
- if @campaign.active? - current_index = @all_campaigns.index(@campaign)
%p#last-years-donors= link_to "Don't forget to check out last year's donors, too!", Campaign.first - prev_campaign = @all_campaigns[current_index + 1]
- if prev_campaign
%p#last-years-donors= link_to "Don't forget to check out last year's donors, too!", prev_campaign


#fine-print #fine-print
%h2 Other ways to donate %h2 Other ways to donate
Expand Down
9 changes: 9 additions & 0 deletions db/migrate/20170105205222_add_purpose_to_campaigns.rb
@@ -0,0 +1,9 @@
class AddPurposeToCampaigns < ActiveRecord::Migration
def change
# We're using the "name" column as a short campaign purpose phrase.
# Let's name that "purpose" instead, and create a "name" column that we can
# use to reference the campaign, e.g. "2016".
rename_column :campaigns, :name, :purpose
add_column :campaigns, :name, :string
end
end
5 changes: 3 additions & 2 deletions db/schema.rb
Expand Up @@ -11,7 +11,7 @@
# #
# It's strongly recommended to check this file into your version control system. # It's strongly recommended to check this file into your version control system.


ActiveRecord::Schema.define(:version => 20150927033046) do ActiveRecord::Schema.define(:version => 20170105205222) do


create_table "auth_servers", :force => true do |t| create_table "auth_servers", :force => true do |t|
t.string "short_name", :limit => 10, :null => false t.string "short_name", :limit => 10, :null => false
Expand Down Expand Up @@ -40,9 +40,10 @@
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.boolean "advertised", :default => true, :null => false t.boolean "advertised", :default => true, :null => false
t.text "description", :null => false t.text "description", :null => false
t.string "name", :default => "our hosting costs this year", :null => false t.string "purpose", :default => "our hosting costs this year", :null => false
t.string "theme_id", :default => "hug", :null => false t.string "theme_id", :default => "hug", :null => false
t.text "thanks" t.text "thanks"
t.string "name"
end end


create_table "campaigns_old", :force => true do |t| create_table "campaigns_old", :force => true do |t|
Expand Down

0 comments on commit f5fb871

Please sign in to comment.