diff --git a/app/assets/javascripts/admin.js.coffee b/app/assets/javascripts/admin.js.coffee
index d816b260..7017abdc 100644
--- a/app/assets/javascripts/admin.js.coffee
+++ b/app/assets/javascripts/admin.js.coffee
@@ -89,7 +89,7 @@ Crowdhoster.admin =
$('#reward-add').on 'click', (e) ->
e.preventDefault()
- $('#rewards ul').append('
')
+ $('#rewards ul').append('')
$('.faq.sortable').sortable
stop: (e, ui) ->
diff --git a/app/controllers/admin/campaigns_controller.rb b/app/controllers/admin/campaigns_controller.rb
index 5f7a0cda..37bd9e72 100644
--- a/app/controllers/admin/campaigns_controller.rb
+++ b/app/controllers/admin/campaigns_controller.rb
@@ -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"
@@ -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
@@ -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"
@@ -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
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index a2fd74ac..dfb620a5 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -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
@@ -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
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
index 55bd0929..4134d3af 100644
--- a/app/mailers/user_mailer.rb
+++ b/app/mailers/user_mailer.rb
@@ -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}"
diff --git a/app/models/campaign.rb b/app/models/campaign.rb
index fbbed3c0..b446d829 100644
--- a/app/models/campaign.rb
+++ b/app/models/campaign.rb
@@ -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
@@ -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
diff --git a/app/models/reward.rb b/app/models/reward.rb
index cd443e06..e3550213 100644
--- a/app/models/reward.rb
+++ b/app/models/reward.rb
@@ -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
diff --git a/app/views/admin/campaigns/_form.html.erb b/app/views/admin/campaigns/_form.html.erb
index cdab4510..e46517a4 100644
--- a/app/views/admin/campaigns/_form.html.erb
+++ b/app/views/admin/campaigns/_form.html.erb
@@ -106,6 +106,8 @@
<%= f.text_field :reward_reference %>
+
+ <%= f.check_box :include_rewards_claimed %>