diff --git a/app/controllers/concerns/group.rb b/app/controllers/concerns/group.rb new file mode 100644 index 0000000..11bffbd --- /dev/null +++ b/app/controllers/concerns/group.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module DiscoursePatrons + module Group + extend ActiveSupport::Concern + + def plan_group(plan) + ::Group.find_by_name(plan[:metadata][:group_name]) + end + end +end diff --git a/app/controllers/subscriptions_controller.rb b/app/controllers/subscriptions_controller.rb index 35857e1..3dc51d3 100644 --- a/app/controllers/subscriptions_controller.rb +++ b/app/controllers/subscriptions_controller.rb @@ -3,6 +3,7 @@ module DiscoursePatrons class SubscriptionsController < ::ApplicationController include DiscoursePatrons::Stripe + include DiscoursePatrons::Group before_action :set_api_key requires_login @@ -59,10 +60,6 @@ module DiscoursePatrons { user_id: current_user.id, username: current_user.username_lower } end - def plan_group(plan) - Group.find_by_name(plan[:metadata][:group_name]) - end - def subscription_ok ['active', 'trialing'].include?(@subscription[:status]) end diff --git a/app/controllers/user/subscriptions_controller.rb b/app/controllers/user/subscriptions_controller.rb index 14e1587..0802747 100644 --- a/app/controllers/user/subscriptions_controller.rb +++ b/app/controllers/user/subscriptions_controller.rb @@ -4,6 +4,7 @@ module DiscoursePatrons module User class SubscriptionsController < ::ApplicationController include DiscoursePatrons::Stripe + include DiscoursePatrons::Group before_action :set_api_key requires_login diff --git a/plugin.rb b/plugin.rb index 9465d0d..4b759c5 100644 --- a/plugin.rb +++ b/plugin.rb @@ -45,6 +45,7 @@ after_initialize do [ "../lib/discourse_patrons/engine", "../config/routes", + "../app/controllers/concerns/group", "../app/controllers/concerns/stripe", "../app/controllers/admin_controller", "../app/controllers/admin/plans_controller",