Skip to content

Commit

Permalink
Merge pull request #190 from rmostafa/rmostafa-f1-pull2
Browse files Browse the repository at this point in the history
Issues [#179, #180, #160] + Others Related to Login and Site Settings Initialization
  • Loading branch information
liuhenry committed Jan 17, 2014
2 parents 01c958a + 618b381 commit d101a46
Show file tree
Hide file tree
Showing 14 changed files with 88 additions and 14 deletions.
2 changes: 1 addition & 1 deletion app/assets/javascripts/admin.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ Crowdhoster.admin =

$('#reward-add').on 'click', (e) ->
e.preventDefault()
$('#rewards ul').append('<li><table class="table"><tr><th>Reward</th><th>Number Claimed</th><th>Delete?</th></tr><tr><td><label>Minimum Contribution To Claim</label><div class="currency"><input name="reward[][price]" type="text" /><span style="position:absolute">$</span></div><label>Title</label><input name="reward[][title]" type="text" /><br/><label>Image URL (optional)</label><input placeholder="http://www.host.com/image.jpg" name="reward[][image_url]" type="text" /><br/><label>Description</label><textarea name="reward[][description]"></textarea><br/><label>Estimated Delivery Date (i.e. May 2013)</label><input name="reward[][delivery_date]" type="text" /><br/><label>Number Available (leave blank if unlimited)</label><input name="reward[][number]" type="text" /><label>Collect shipping address for this reward?</label><input name="reward[][collect_shipping_flag]" type="checkbox" checked /></td><td>0</td><td><input type="checkbox" name="reward[][delete]" value="delete"/></td></tr></table></li>')
$('#rewards ul').append('<li><table class="table"><tr><th>Reward</th><th>Number Claimed</th><th>Delete?</th></tr><tr><td><label>Minimum Contribution To Claim</label><div class="currency"><input name="reward[][price]" type="text" /><span style="position:absolute">$</span></div><label>Title</label><input name="reward[][title]" type="text" /><br/><label>Image URL (optional)</label><input placeholder="http://www.host.com/image.jpg" name="reward[][image_url]" type="text" /><br/><label>Description</label><textarea name="reward[][description]"></textarea><br/><label>Estimated Delivery Date (i.e. May 2013)</label><input name="reward[][delivery_date]" type="text" /><br/><label>Number Available (leave blank if unlimited)</label><input name="reward[][number]" type="text" /><label>Collect shipping address for this reward?</label><input name="reward[][collect_shipping_flag]" type="checkbox" checked /><label>Display number of reward claimed after campaign has ended?</label><input name="reward[][include_claimed]" type="checkbox" checked /></td><td>0</td><td><input type="checkbox" name="reward[][delete]" value="delete"/></td></tr></table></li>')

$('.faq.sortable').sortable
stop: (e, ui) ->
Expand Down
10 changes: 7 additions & 3 deletions app/controllers/admin/campaigns_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ def copy
delivery_date: reward.delivery_date,
number: reward.number,
price: reward.price,
collect_shipping_flag: reward.collect_shipping_flag
collect_shipping_flag: reward.collect_shipping_flag,
include_claimed: reward.include_claimed
end

render action: "edit"
Expand Down Expand Up @@ -111,7 +112,8 @@ def create
delivery_date: reward['delivery_date'],
number: reward['number'].to_i,
price: reward['price'].to_f,
collect_shipping_flag: reward['collect_shipping_flag']
collect_shipping_flag: reward['collect_shipping_flag'],
include_claimed: reward['include_claimed']
end
end
end
Expand Down Expand Up @@ -183,6 +185,7 @@ def update
r.number = reward['number'].to_i
r.price = reward['price'].to_f
r.collect_shipping_flag = reward['collect_shipping_flag']
r.include_claimed = reward['include_claimed']
unless r.save
flash.now[:error] = "Invalid rewards"
render action: "edit"
Expand All @@ -195,7 +198,8 @@ def update
delivery_date: reward['delivery_date'],
number: reward['number'].to_i,
price: reward['price'].to_f,
collect_shipping_flag: reward['collect_shipping_flag']
collect_shipping_flag: reward['collect_shipping_flag'],
include_claimed: reward['include_claimed']
end
end
end
Expand Down
8 changes: 6 additions & 2 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class ApplicationController < ActionController::Base
after_filter :store_location

def load_settings
@settings = Settings.find_by_id(1)
@settings = Settings.first

if !@settings
@settings = Settings.create
Expand Down Expand Up @@ -73,7 +73,11 @@ def check_init
# Put user back on admin area
redirect_to admin_website_url, :flash => { :success => "Nice! Your app is now initialized." }
else
redirect_to new_user_registration_url, :flash => { :error => "Please create an account below to initialize the app." }
if (User.count == 0)
redirect_to new_user_registration_url, :flash => { :error => "Please create an account below to initialize the app." }
else
redirect_to user_session_url , :flash => { :error => "Please sign in below." }
end
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion app/mailers/user_mailer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ class UserMailer < ActionMailer::Base
layout 'default_mailer'

def payment_confirmation(payment, campaign)
@settings = Settings.find_by_id(1)
@settings = Settings.first
@payment = payment
@campaign = campaign
mail from: "#{@settings.site_name} <#{@settings.reply_to_email}>", reply_to: @settings.reply_to_email, to: @payment.email, subject: "Your confirmation for #{@campaign.name}"
Expand Down
10 changes: 9 additions & 1 deletion app/models/campaign.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Campaign < ActiveRecord::Base
:stats_number_of_contributions, :stats_raised_amount, :stats_tilt_percent,
:stats_unique_contributors, :published_flag, :collect_shipping_flag, :production_flag,
:include_rewards, :reward_reference, :collect_additional_info, :additional_info_label,
:include_comments, :comments_shortname
:include_comments, :comments_shortname, :include_rewards_claimed

attr_accessor :main_image_delete, :video_placeholder_delete, :facebook_image_delete

Expand Down Expand Up @@ -68,6 +68,14 @@ def rewards?
(self.payment_type != 'fixed' && self.rewards.length > 0)
end

def rewards_claimed
@sum = 0
self.rewards.each do |reward|
@sum += reward.payments.length
end
return @sum
end

def payments_completed
self.payments.where(:status => %w(authorized charged released rejected refunded offline))
end
Expand Down
3 changes: 2 additions & 1 deletion app/models/reward.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
class Reward < ActiveRecord::Base
attr_accessible :title, :description, :delivery_date, :number, :price, :campaign_id, :visible_flag, :image_url, :collect_shipping_flag
attr_accessible :title, :description, :delivery_date, :number, :price, :campaign_id, :visible_flag,
:image_url, :collect_shipping_flag, :include_claimed

validates :title, :description, :delivery_date, :price, presence: true
validates :image_url, :format => URI::regexp(%w(http https)), :allow_blank => true
Expand Down
4 changes: 4 additions & 0 deletions app/views/admin/campaigns/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@
<div class="reference">
<label>How To Reference a Reward (i.e. reward, perk, option)</label>
<%= f.text_field :reward_reference %>
<label>Display number of rewards claimed after campaign has ended?</label>
<%= f.check_box :include_rewards_claimed %>
</div>
<ul>
<% @campaign.rewards.order("price ASC").each do |reward| %>
Expand Down Expand Up @@ -135,6 +137,8 @@
<input name="reward[][number]" type="text" value="<%= reward.unlimited? ? '' : reward.number %>"/>
<label>Collect shipping address for this reward?</label>
<input name="reward[][collect_shipping_flag]" type="checkbox" <% if reward.collect_shipping_flag %>checked="checked"<% end %>/>
<label>Display number of reward claimed after campaign has ended?</label>
<input name="reward[][include_claimed]" type="checkbox" <% if reward.include_claimed %>checked="checked"<% end %>/>
<input type="hidden" name="reward[][id]" value="<%= reward.id %>"/>
</td>
<td><%= reward.payments.length %></td>
Expand Down
2 changes: 1 addition & 1 deletion app/views/layouts/_navbar.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
<%= current_user.fullname %> <b class="caret"></b>
</a>
<ul class="dropdown-menu pull-right" role="menu">
<li><%= link_to "Account", user_settings_path %></li>
<li><%= link_to "Account", edit_user_registration_path %></li>
<li><%= link_to "Admin", admin_website_path %></li>
<li class="divider"></li>
<li><%= link_to "Sign Out", destroy_user_session_path, method: "delete" %></li>
Expand Down
3 changes: 3 additions & 0 deletions app/views/layouts/application.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
<% if !value.blank? %><div class="alert alert-<%= key %>"><%= value %></div><% end %>
<% end %>
<div id="main">
<% if alert %>
<p class="admin-alert alert alert-error"><%= alert %></p>
<% end %>
<%= yield %>
</div>
<%= render 'theme/views/footer' %>
Expand Down
21 changes: 21 additions & 0 deletions app/views/theme/assets/stylesheets/campaign.css.scss
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,27 @@
font-family: $primary_font, $secondary_font, $tertiary_font;
}
}

.stats-awards {
float: left;
width:70%;
margin: 0 auto;
color: #3f3f3f;
font-size: 24px;
display: block;
display: inline-block;
font-family: $primary_font, $secondary_font, $tertiary_font;
padding-right: 23px;
padding-left: 23px;
text-align: center;
span {
color: #868686;
font-size: 18px;
margin-top: 5px;
display: block;
font-family: $primary_font, $secondary_font, $tertiary_font;
}
}
}

body.lt-ie9
Expand Down
23 changes: 20 additions & 3 deletions app/views/theme/views/campaign.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,15 @@
<div id="reserve_container">
<div class="call_to_action_button">
<% if @campaign.expired? %>
<% if @campaign.include_rewards_claimed? %>
<div id="backing">
<ul>
<li class="stats-awards">
<%= @campaign.rewards_claimed %> Claimed Rewards
</li>
</ul>
</div>
<% end %>
<span class="blue_button expired">
<%= @campaign.primary_call_to_action_button %>
</span>
Expand Down Expand Up @@ -165,9 +174,17 @@
<% if reward.image_url.present? %><p class="image"><img src="<%= reward.image_url %>"></p><% end %>
<p class="description"><%= reward.description %></p>
<p class="delivery">Estimated Delivery: <%= reward.delivery_date %></p>
<p class="claimed">
<%= reward.payments.length %> <%= "of #{reward.number}" unless reward.unlimited? %> claimed <%= '(All gone!)' if reward.sold_out? %>
</p>
<% if @campaign.expired? %>
<% if reward.include_claimed? %>
<p class="claimed">
<%= reward.payments.length %> <%= "of #{reward.number}" unless reward.unlimited? %> claimed <%= '(All gone!)' if reward.sold_out? %>
</p>
<% end %>
<% else %>
<p class="claimed">
<%= reward.payments.length %> <%= "of #{reward.number}" unless reward.unlimited? %> claimed <%= '(All gone!)' if reward.sold_out? %>
</p>
<% end %>
</a>
</li>
<% end %>
Expand Down
5 changes: 5 additions & 0 deletions db/migrate/20140116122614_add_include__claimed_to_rewards.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddIncludeClaimedToRewards < ActiveRecord::Migration
def change
add_column :rewards, :include_claimed, :boolean
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddIncludeRewardsClaimedToCampaigns < ActiveRecord::Migration
def change
add_column :campaigns, :include_rewards_claimed, :boolean
end
end
4 changes: 3 additions & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.

ActiveRecord::Schema.define(:version => 20140108234623) do
ActiveRecord::Schema.define(:version => 20140116122844) do

create_table "campaigns", :force => true do |t|
t.string "name"
Expand Down Expand Up @@ -70,6 +70,7 @@
t.string "additional_info_label"
t.boolean "include_comments", :default => false, :null => false
t.string "comments_shortname"
t.boolean "include_rewards_claimed"
end

add_index "campaigns", ["slug"], :name => "index_campaigns_on_slug", :unique => true
Expand Down Expand Up @@ -139,6 +140,7 @@
t.boolean "visible_flag", :default => true, :null => false
t.string "image_url"
t.boolean "collect_shipping_flag", :default => true
t.boolean "include_claimed"
end

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

0 comments on commit d101a46

Please sign in to comment.