Skip to content

Commit

Permalink
Update file loading
Browse files Browse the repository at this point in the history
  • Loading branch information
angusmcleod committed Jan 10, 2024
1 parent 74886e7 commit bc762ee
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 30 deletions.
2 changes: 1 addition & 1 deletion lib/subscription_server/provider.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
class SubscriptionServer::Provider
attr_reader :user

def initialize(user)
def initialize(user = nil)
@user = user
end

Expand Down
4 changes: 4 additions & 0 deletions lib/subscription_server/providers/stripe.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,8 @@ def subscriptions(product_ids, resource_name)
result
end
end

def self.discourse_subscriptions_installed?
new.discourse_subscriptions_installed?
end
end
64 changes: 35 additions & 29 deletions plugin.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@

enabled_site_setting :subscription_server_enabled

DiscourseEvent.on(:after_plugin_activation) do
sorted_pugins = Discourse.plugins.sort_by do |p|
p&.name == 'discourse-subscription-server' ? 1 : 0
end
Discourse.instance_variable_set(:@plugins, sorted_pugins)
end

after_initialize do
%w[
../lib/subscription_server/engine.rb
Expand All @@ -26,9 +33,6 @@
../app/controllers/subscription_server/server_controller.rb
../app/serializers/subscription_server/message_serializer.rb
../app/serializers/subscription_server/subscription_serializer.rb
../extensions/discourse_subscriptions_coupons_controller_extension.rb
../extensions/discourse_subscriptions_products_controller_extension.rb
../extensions/discourse_subscriptions_subscriber_controller_extension.rb
].each do |path|
load File.expand_path(path, __FILE__)
end
Expand Down Expand Up @@ -112,33 +116,35 @@

add_to_serializer(:user, :subscription_domains) { user.subscription_domains }

## DiscourseSubscription extensions. discourse-subscriptions plugin must be above this plugin in app.yml
DiscourseSubscriptions::SubscribeController.prepend DiscourseSubscriptionsSubscribeControllerExtension
DiscourseSubscriptions::Admin::CouponsController.prepend DiscourseSubscriptionsCouponsControllerExtension
DiscourseSubscriptions::Admin::ProductsController.prepend DiscourseSubscriptionsProductsControllerExtension

require 'csv'
module ::DiscourseSubscriptions
def self.class_update_subscriptions_from_csv(path)
rows = CSV.read(path)
return unless rows.present?

rows.each do |row|
DiscourseSubscriptions::Subscription
.joins(:customer)
.where("discourse_subscriptions_customers.customer_id = :customer_id AND discourse_subscriptions_subscriptions.external_id = :subscription_id",
customer_id: row[0].strip,
subscription_id: row[1].strip
).update_all(
external_id: row[2].strip
)
end
if SubscriptionServer::Stripe.discourse_subscriptions_installed?
%w[
../extensions/discourse_subscriptions_coupons_controller_extension.rb
../extensions/discourse_subscriptions_products_controller_extension.rb
../extensions/discourse_subscriptions_subscriber_controller_extension.rb
].each do |path|
load File.expand_path(path, __FILE__)
end
end

on(:after_plugin_activation) do
Discourse.plugins.sort_by! do |plugin|
plugin.name == 'discourse-subscription-server' ? 1 : 0
DiscourseSubscriptions::SubscribeController.prepend DiscourseSubscriptionsSubscribeControllerExtension
DiscourseSubscriptions::Admin::CouponsController.prepend DiscourseSubscriptionsCouponsControllerExtension
DiscourseSubscriptions::Admin::ProductsController.prepend DiscourseSubscriptionsProductsControllerExtension

require 'csv'
module ::DiscourseSubscriptions
def self.class_update_subscriptions_from_csv(path)
rows = CSV.read(path)
return unless rows.present?

rows.each do |row|
DiscourseSubscriptions::Subscription
.joins(:customer)
.where("discourse_subscriptions_customers.customer_id = :customer_id AND discourse_subscriptions_subscriptions.external_id = :subscription_id",
customer_id: row[0].strip,
subscription_id: row[1].strip
).update_all(
external_id: row[2].strip
)
end
end
end
end
end

0 comments on commit bc762ee

Please sign in to comment.