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('
  • RewardNumber ClaimedDelete?
    $




    0
  • ') + $('#rewards ul').append('
  • RewardNumber ClaimedDelete?
    $




    0
  • ') $('.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 %>