From a8dde3bbb9d0b027759c914ea87da96ae9dddb59 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Wed, 26 Nov 2014 15:16:53 +1100 Subject: [PATCH] Moving shopfront trial progress bar logic into enterprises helper and dealing with expiry --- app/helpers/enterprises_helper.rb | 16 ++++++++++++++++ app/models/enterprise.rb | 10 ---------- .../add_trial_progress_bar.html.haml.deface | 3 +-- .../admin/shared/_trial_progress_bar.html.haml | 9 +++++++-- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/app/helpers/enterprises_helper.rb b/app/helpers/enterprises_helper.rb index 1421594e97..6109842f84 100644 --- a/app/helpers/enterprises_helper.rb +++ b/app/helpers/enterprises_helper.rb @@ -45,4 +45,20 @@ module EnterprisesHelper options[:data] = { :action => 'remove', :confirm => enterprise_confirm_delete_message(enterprise) } link_to_with_icon 'icon-trash', name, url, options end + + def shop_trial_in_progress?(enterprise) + !!enterprise.shop_trial_start_date && + (enterprise.shop_trial_start_date + Enterprise::SHOP_TRIAL_LENGTH.days > Time.now) && + %w(own any).include?(enterprise.sells) + end + + def shop_trial_expired?(enterprise) + !!enterprise.shop_trial_start_date && + (enterprise.shop_trial_start_date + Enterprise::SHOP_TRIAL_LENGTH.days <= Time.now) && + %w(own any).include?(enterprise.sells) + end + + def remaining_trial_days(enterprise) + distance_of_time_in_words(Time.now, enterprise.shop_trial_start_date + Enterprise::SHOP_TRIAL_LENGTH.days) + end end diff --git a/app/models/enterprise.rb b/app/models/enterprise.rb index 8d4f688565..5082267a01 100644 --- a/app/models/enterprise.rb +++ b/app/models/enterprise.rb @@ -285,16 +285,6 @@ class Enterprise < ActiveRecord::Base shipping_methods.any? && payment_methods.available.any? end - def shop_trial_in_progress? - !!shop_trial_start_date && - (shop_trial_start_date + SHOP_TRIAL_LENGTH.days > Time.now) && - %w(own any).include?(sells) - end - - def remaining_trial_days - distance_of_time_in_words(Time.now, shop_trial_start_date + SHOP_TRIAL_LENGTH.days) - end - protected def devise_mailer diff --git a/app/overrides/spree/layouts/admin/add_trial_progress_bar.html.haml.deface b/app/overrides/spree/layouts/admin/add_trial_progress_bar.html.haml.deface index bcd787cf28..eb9b44ad10 100644 --- a/app/overrides/spree/layouts/admin/add_trial_progress_bar.html.haml.deface +++ b/app/overrides/spree/layouts/admin/add_trial_progress_bar.html.haml.deface @@ -2,5 +2,4 @@ - enterprise = spree_current_user.enterprises.first if OpenFoodNetwork::Permissions.new(spree_current_user).manages_one_enterprise? -- if enterprise && enterprise.shop_trial_in_progress? - = render 'spree/admin/shared/trial_progress_bar', enterprise: enterprise \ No newline at end of file += render 'spree/admin/shared/trial_progress_bar', enterprise: enterprise \ No newline at end of file diff --git a/app/views/spree/admin/shared/_trial_progress_bar.html.haml b/app/views/spree/admin/shared/_trial_progress_bar.html.haml index 183c63a901..abffdbd6ad 100644 --- a/app/views/spree/admin/shared/_trial_progress_bar.html.haml +++ b/app/views/spree/admin/shared/_trial_progress_bar.html.haml @@ -1,2 +1,7 @@ -#trial_progress_bar - = "Your shopfront trial expires in #{enterprise.remaining_trial_days}." \ No newline at end of file +- if enterprise + -if shop_trial_in_progress?(enterprise) + #trial_progress_bar + = "Your shopfront trial expires in #{remaining_trial_days(enterprise)}." + -elsif shop_trial_expired?(enterprise) + #trial_progress_bar + = "Good news! We have decided to extend shopfront trials until further notice (probably around March 2015)." \ No newline at end of file