Skip to content

Commit d101a46

Browse files
committed
Merge pull request Crowdtilt#190 from rmostafa/rmostafa-f1-pull2
Issues [Crowdtilt#179, Crowdtilt#180, Crowdtilt#160] + Others Related to Login and Site Settings Initialization
2 parents 01c958a + 618b381 commit d101a46

14 files changed

+88
-14
lines changed

app/assets/javascripts/admin.js.coffee

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ Crowdhoster.admin =
8989

9090
$('#reward-add').on 'click', (e) ->
9191
e.preventDefault()
92-
$('#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>')
92+
$('#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>')
9393

9494
$('.faq.sortable').sortable
9595
stop: (e, ui) ->

app/controllers/admin/campaigns_controller.rb

+7-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ def copy
4848
delivery_date: reward.delivery_date,
4949
number: reward.number,
5050
price: reward.price,
51-
collect_shipping_flag: reward.collect_shipping_flag
51+
collect_shipping_flag: reward.collect_shipping_flag,
52+
include_claimed: reward.include_claimed
5253
end
5354

5455
render action: "edit"
@@ -111,7 +112,8 @@ def create
111112
delivery_date: reward['delivery_date'],
112113
number: reward['number'].to_i,
113114
price: reward['price'].to_f,
114-
collect_shipping_flag: reward['collect_shipping_flag']
115+
collect_shipping_flag: reward['collect_shipping_flag'],
116+
include_claimed: reward['include_claimed']
115117
end
116118
end
117119
end
@@ -183,6 +185,7 @@ def update
183185
r.number = reward['number'].to_i
184186
r.price = reward['price'].to_f
185187
r.collect_shipping_flag = reward['collect_shipping_flag']
188+
r.include_claimed = reward['include_claimed']
186189
unless r.save
187190
flash.now[:error] = "Invalid rewards"
188191
render action: "edit"
@@ -195,7 +198,8 @@ def update
195198
delivery_date: reward['delivery_date'],
196199
number: reward['number'].to_i,
197200
price: reward['price'].to_f,
198-
collect_shipping_flag: reward['collect_shipping_flag']
201+
collect_shipping_flag: reward['collect_shipping_flag'],
202+
include_claimed: reward['include_claimed']
199203
end
200204
end
201205
end

app/controllers/application_controller.rb

+6-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class ApplicationController < ActionController::Base
55
after_filter :store_location
66

77
def load_settings
8-
@settings = Settings.find_by_id(1)
8+
@settings = Settings.first
99

1010
if !@settings
1111
@settings = Settings.create
@@ -73,7 +73,11 @@ def check_init
7373
# Put user back on admin area
7474
redirect_to admin_website_url, :flash => { :success => "Nice! Your app is now initialized." }
7575
else
76-
redirect_to new_user_registration_url, :flash => { :error => "Please create an account below to initialize the app." }
76+
if (User.count == 0)
77+
redirect_to new_user_registration_url, :flash => { :error => "Please create an account below to initialize the app." }
78+
else
79+
redirect_to user_session_url , :flash => { :error => "Please sign in below." }
80+
end
7781
end
7882
end
7983
end

app/mailers/user_mailer.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ class UserMailer < ActionMailer::Base
22
layout 'default_mailer'
33

44
def payment_confirmation(payment, campaign)
5-
@settings = Settings.find_by_id(1)
5+
@settings = Settings.first
66
@payment = payment
77
@campaign = campaign
88
mail from: "#{@settings.site_name} <#{@settings.reply_to_email}>", reply_to: @settings.reply_to_email, to: @payment.email, subject: "Your confirmation for #{@campaign.name}"

app/models/campaign.rb

+9-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Campaign < ActiveRecord::Base
1515
:stats_number_of_contributions, :stats_raised_amount, :stats_tilt_percent,
1616
:stats_unique_contributors, :published_flag, :collect_shipping_flag, :production_flag,
1717
:include_rewards, :reward_reference, :collect_additional_info, :additional_info_label,
18-
:include_comments, :comments_shortname
18+
:include_comments, :comments_shortname, :include_rewards_claimed
1919

2020
attr_accessor :main_image_delete, :video_placeholder_delete, :facebook_image_delete
2121

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

71+
def rewards_claimed
72+
@sum = 0
73+
self.rewards.each do |reward|
74+
@sum += reward.payments.length
75+
end
76+
return @sum
77+
end
78+
7179
def payments_completed
7280
self.payments.where(:status => %w(authorized charged released rejected refunded offline))
7381
end

app/models/reward.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
class Reward < ActiveRecord::Base
2-
attr_accessible :title, :description, :delivery_date, :number, :price, :campaign_id, :visible_flag, :image_url, :collect_shipping_flag
2+
attr_accessible :title, :description, :delivery_date, :number, :price, :campaign_id, :visible_flag,
3+
:image_url, :collect_shipping_flag, :include_claimed
34

45
validates :title, :description, :delivery_date, :price, presence: true
56
validates :image_url, :format => URI::regexp(%w(http https)), :allow_blank => true

app/views/admin/campaigns/_form.html.erb

+4
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@
106106
<div class="reference">
107107
<label>How To Reference a Reward (i.e. reward, perk, option)</label>
108108
<%= f.text_field :reward_reference %>
109+
<label>Display number of rewards claimed after campaign has ended?</label>
110+
<%= f.check_box :include_rewards_claimed %>
109111
</div>
110112
<ul>
111113
<% @campaign.rewards.order("price ASC").each do |reward| %>
@@ -135,6 +137,8 @@
135137
<input name="reward[][number]" type="text" value="<%= reward.unlimited? ? '' : reward.number %>"/>
136138
<label>Collect shipping address for this reward?</label>
137139
<input name="reward[][collect_shipping_flag]" type="checkbox" <% if reward.collect_shipping_flag %>checked="checked"<% end %>/>
140+
<label>Display number of reward claimed after campaign has ended?</label>
141+
<input name="reward[][include_claimed]" type="checkbox" <% if reward.include_claimed %>checked="checked"<% end %>/>
138142
<input type="hidden" name="reward[][id]" value="<%= reward.id %>"/>
139143
</td>
140144
<td><%= reward.payments.length %></td>

app/views/layouts/_navbar.html.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
<%= current_user.fullname %> <b class="caret"></b>
6060
</a>
6161
<ul class="dropdown-menu pull-right" role="menu">
62-
<li><%= link_to "Account", user_settings_path %></li>
62+
<li><%= link_to "Account", edit_user_registration_path %></li>
6363
<li><%= link_to "Admin", admin_website_path %></li>
6464
<li class="divider"></li>
6565
<li><%= link_to "Sign Out", destroy_user_session_path, method: "delete" %></li>

app/views/layouts/application.html.erb

+3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
<% if !value.blank? %><div class="alert alert-<%= key %>"><%= value %></div><% end %>
2525
<% end %>
2626
<div id="main">
27+
<% if alert %>
28+
<p class="admin-alert alert alert-error"><%= alert %></p>
29+
<% end %>
2730
<%= yield %>
2831
</div>
2932
<%= render 'theme/views/footer' %>

app/views/theme/assets/stylesheets/campaign.css.scss

+21
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,27 @@
110110
font-family: $primary_font, $secondary_font, $tertiary_font;
111111
}
112112
}
113+
114+
.stats-awards {
115+
float: left;
116+
width:70%;
117+
margin: 0 auto;
118+
color: #3f3f3f;
119+
font-size: 24px;
120+
display: block;
121+
display: inline-block;
122+
font-family: $primary_font, $secondary_font, $tertiary_font;
123+
padding-right: 23px;
124+
padding-left: 23px;
125+
text-align: center;
126+
span {
127+
color: #868686;
128+
font-size: 18px;
129+
margin-top: 5px;
130+
display: block;
131+
font-family: $primary_font, $secondary_font, $tertiary_font;
132+
}
133+
}
113134
}
114135

115136
body.lt-ie9

app/views/theme/views/campaign.html.erb

+20-3
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,15 @@
8787
<div id="reserve_container">
8888
<div class="call_to_action_button">
8989
<% if @campaign.expired? %>
90+
<% if @campaign.include_rewards_claimed? %>
91+
<div id="backing">
92+
<ul>
93+
<li class="stats-awards">
94+
<%= @campaign.rewards_claimed %> Claimed Rewards
95+
</li>
96+
</ul>
97+
</div>
98+
<% end %>
9099
<span class="blue_button expired">
91100
<%= @campaign.primary_call_to_action_button %>
92101
</span>
@@ -165,9 +174,17 @@
165174
<% if reward.image_url.present? %><p class="image"><img src="<%= reward.image_url %>"></p><% end %>
166175
<p class="description"><%= reward.description %></p>
167176
<p class="delivery">Estimated Delivery: <%= reward.delivery_date %></p>
168-
<p class="claimed">
169-
<%= reward.payments.length %> <%= "of #{reward.number}" unless reward.unlimited? %> claimed <%= '(All gone!)' if reward.sold_out? %>
170-
</p>
177+
<% if @campaign.expired? %>
178+
<% if reward.include_claimed? %>
179+
<p class="claimed">
180+
<%= reward.payments.length %> <%= "of #{reward.number}" unless reward.unlimited? %> claimed <%= '(All gone!)' if reward.sold_out? %>
181+
</p>
182+
<% end %>
183+
<% else %>
184+
<p class="claimed">
185+
<%= reward.payments.length %> <%= "of #{reward.number}" unless reward.unlimited? %> claimed <%= '(All gone!)' if reward.sold_out? %>
186+
</p>
187+
<% end %>
171188
</a>
172189
</li>
173190
<% end %>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class AddIncludeClaimedToRewards < ActiveRecord::Migration
2+
def change
3+
add_column :rewards, :include_claimed, :boolean
4+
end
5+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class AddIncludeRewardsClaimedToCampaigns < ActiveRecord::Migration
2+
def change
3+
add_column :campaigns, :include_rewards_claimed, :boolean
4+
end
5+
end

db/schema.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#
1212
# It's strongly recommended to check this file into your version control system.
1313

14-
ActiveRecord::Schema.define(:version => 20140108234623) do
14+
ActiveRecord::Schema.define(:version => 20140116122844) do
1515

1616
create_table "campaigns", :force => true do |t|
1717
t.string "name"
@@ -70,6 +70,7 @@
7070
t.string "additional_info_label"
7171
t.boolean "include_comments", :default => false, :null => false
7272
t.string "comments_shortname"
73+
t.boolean "include_rewards_claimed"
7374
end
7475

7576
add_index "campaigns", ["slug"], :name => "index_campaigns_on_slug", :unique => true
@@ -139,6 +140,7 @@
139140
t.boolean "visible_flag", :default => true, :null => false
140141
t.string "image_url"
141142
t.boolean "collect_shipping_flag", :default => true
143+
t.boolean "include_claimed"
142144
end
143145

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

0 commit comments

Comments
 (0)