diff --git a/app/controllers/campaigns_controller.rb b/app/controllers/campaigns_controller.rb index 162e12ab..3ae499ae 100644 --- a/app/controllers/campaigns_controller.rb +++ b/app/controllers/campaigns_controller.rb @@ -219,7 +219,7 @@ def check_published end def check_exp - if @campaign.expired? + if @campaign.expired? && !@campaign.accept_closed_project_payment? redirect_to campaign_home_url(@campaign), :flash => { :error => "Campaign is expired!" } end end diff --git a/app/models/campaign.rb b/app/models/campaign.rb index e9c3e13b..71bc2877 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_rewards_claimed + :include_comments, :comments_shortname, :include_rewards_claimed, :accept_closed_project_payment attr_accessor :main_image_delete, :video_placeholder_delete, :facebook_image_delete diff --git a/app/views/admin/campaigns/_form.html.erb b/app/views/admin/campaigns/_form.html.erb index e46517a4..fc7796c9 100644 --- a/app/views/admin/campaigns/_form.html.erb +++ b/app/views/admin/campaigns/_form.html.erb @@ -355,7 +355,11 @@ <% end %> - +
+

Accept payments after campaign has tilted and expired

+ + <%= f.check_box :accept_closed_project_payment %> +
<% if @campaign.persisted? %> diff --git a/app/views/theme/views/campaign.html.erb b/app/views/theme/views/campaign.html.erb index 326dacd5..7b419b49 100644 --- a/app/views/theme/views/campaign.html.erb +++ b/app/views/theme/views/campaign.html.erb @@ -96,9 +96,15 @@ <% end %> - - <%= @campaign.primary_call_to_action_button %> - + <% if @campaign.accept_closed_project_payment %> + + <%= @campaign.primary_call_to_action_button %> + + <% else %> + + <%= @campaign.primary_call_to_action_button %> + + <% end %> <% else %> <%= @campaign.primary_call_to_action_button %> @@ -200,9 +206,15 @@
<%= raw(@campaign.secondary_call_to_action_description) %>
<% if @campaign.expired? %> - - <%= @campaign.secondary_call_to_action_button %> - + <% if @campaign.accept_closed_project_payment %> + + <%= @campaign.secondary_call_to_action_button %> + + <% else %> + + <%= @campaign.secondary_call_to_action_button %> + + <% end %> <% else %> <%= @campaign.secondary_call_to_action_button %> diff --git a/db/migrate/20140118102307_add_accept_closed_project_payment_to_campaigns.rb b/db/migrate/20140118102307_add_accept_closed_project_payment_to_campaigns.rb new file mode 100644 index 00000000..3207ce14 --- /dev/null +++ b/db/migrate/20140118102307_add_accept_closed_project_payment_to_campaigns.rb @@ -0,0 +1,5 @@ +class AddAcceptClosedProjectPaymentToCampaigns < ActiveRecord::Migration + def change + add_column :campaigns, :accept_closed_project_payment, :boolean + end +end diff --git a/db/schema.rb b/db/schema.rb index 464da1fc..c9116303 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20140116122844) do +ActiveRecord::Schema.define(:version => 20140118102307) do create_table "campaigns", :force => true do |t| t.string "name" @@ -71,6 +71,7 @@ t.boolean "include_comments", :default => false, :null => false t.string "comments_shortname" t.boolean "include_rewards_claimed" + t.boolean "accept_closed_project_payment" end add_index "campaigns", ["slug"], :name => "index_campaigns_on_slug", :unique => true