diff --git a/app/models/notification_type.rb b/app/models/notification_type.rb index ba6a20ba6..619c51a47 100644 --- a/app/models/notification_type.rb +++ b/app/models/notification_type.rb @@ -53,6 +53,7 @@ class NotificationType notify_admin_refund_created notify_admins_role_update notify_user_role_update + notify_admin_members_stripe_sync ] # deprecated: # - notify_member_subscribed_plan_is_changed diff --git a/app/views/api/notifications/_notify_admin_members_stripe_sync.json.jbuilder b/app/views/api/notifications/_notify_admin_members_stripe_sync.json.jbuilder new file mode 100644 index 000000000..75a5823b4 --- /dev/null +++ b/app/views/api/notifications/_notify_admin_members_stripe_sync.json.jbuilder @@ -0,0 +1,2 @@ +json.title notification.notification_type +json.description t('.all_members_sync') diff --git a/app/views/notifications_mailer/notify_admin_members_stripe_sync.html.erb b/app/views/notifications_mailer/notify_admin_members_stripe_sync.html.erb new file mode 100644 index 000000000..fba6dd611 --- /dev/null +++ b/app/views/notifications_mailer/notify_admin_members_stripe_sync.html.erb @@ -0,0 +1 @@ +
<%= t('.body.members_sync') %>
diff --git a/app/workers/stripe_worker.rb b/app/workers/stripe_worker.rb index e5029a3ba..4d423e208 100644 --- a/app/workers/stripe_worker.rb +++ b/app/workers/stripe_worker.rb @@ -57,5 +57,10 @@ class StripeWorker end end LOGGER&.debug ['StripeWorker', 'SyncMembers', 'Sync is done'] + notify_user = Setting.find_by(name: 'stripe_secret_key')&.history_values&.last&.invoicing_profile&.user + return unless notify_user + + NotificationCenter.call type: :notify_admin_members_stripe_sync, + receiver: notify_user end end diff --git a/config/locales/en.yml b/config/locales/en.yml index 7742a55c0..e77f9301f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -340,6 +340,8 @@ en: your_role_is_ROLE: "Your role has been changed to %{ROLE}." notify_admins_role_update: user_NAME_changed_ROLE_html: "User %{NAME} is now %{ROLE}." + notify_admin_members_stripe_sync: + all_members_sync: "All members were successfully synchronized on Stripe." #statistics tools for admins statistics: subscriptions: "Subscriptions" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 7878560b1..af81fb539 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -340,6 +340,8 @@ fr: your_role_is_ROLE: "Votre rôle a été changé en %{ROLE}." notify_admins_role_update: user_NAME_changed_ROLE_html: "L'utilisateur %{NAME} est maintenant %{ROLE}." + notify_admin_members_stripe_sync: + all_members_sync: "Tous les membres ont été synchronisés sur Stripe avec succès." #statistics tools for admins statistics: subscriptions: "Abonnements" diff --git a/config/locales/mails.en.yml b/config/locales/mails.en.yml index 5d8fd903b..16ff39df9 100644 --- a/config/locales/mails.en.yml +++ b/config/locales/mails.en.yml @@ -283,5 +283,9 @@ en: subject: "Your role has changed" body: role_changed_html: "Your role at {GENDER, select, male{the} female{the} neutral{} other{the}} {NAME} has changed. You are now {ROLE}.