mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 01:32:36 +02:00
Email invoice support
This commit is contained in:
parent
ea760fc849
commit
68352e3d8f
3 changed files with 37 additions and 1 deletions
|
@ -265,6 +265,7 @@ post '/settings/change_email_notification' do
|
||||||
owner.send_emails = params[:send_emails]
|
owner.send_emails = params[:send_emails]
|
||||||
owner.send_comment_emails = params[:send_comment_emails]
|
owner.send_comment_emails = params[:send_comment_emails]
|
||||||
owner.send_follow_emails = params[:send_follow_emails]
|
owner.send_follow_emails = params[:send_follow_emails]
|
||||||
|
owner.email_invoice = params[:email_invoice]
|
||||||
owner.save_changes validate: false
|
owner.save_changes validate: false
|
||||||
flash[:success] = 'Email notification settings have been updated.'
|
flash[:success] = 'Email notification settings have been updated.'
|
||||||
redirect '/settings#email'
|
redirect '/settings#email'
|
||||||
|
|
|
@ -102,6 +102,29 @@ post '/webhooks/stripe' do
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if event['type'] == 'invoice.payment_succeeded'
|
||||||
|
site = stripe_get_site_from_event event
|
||||||
|
|
||||||
|
if site.email_invoice && site.stripe_paying_supporter?
|
||||||
|
invoice_obj = event['data']['object']
|
||||||
|
|
||||||
|
EmailWorker.perform_async({
|
||||||
|
from: 'web@neocities.org',
|
||||||
|
to: site.email,
|
||||||
|
subject: "[Neocities] Invoice",
|
||||||
|
body: Tilt.new('./views/templates/email/invoice.erb', pretty: true).render(
|
||||||
|
self,
|
||||||
|
site: site,
|
||||||
|
amount: invoice_obj['amount_due'],
|
||||||
|
period_start: Time.at(invoice_obj['period_start']),
|
||||||
|
period_end: Time.at(invoice_obj['period_end']),
|
||||||
|
date: Time.at(invoice_obj['date'])
|
||||||
|
)
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
'ok'
|
'ok'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,18 @@
|
||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<% if current_site.owner.stripe_paying_supporter? %>
|
||||||
|
<p>
|
||||||
|
Receive Invoice Receipts:
|
||||||
|
<input name="email_invoice" type="hidden" value="false">
|
||||||
|
<input name="email_invoice" type="checkbox" value="true"
|
||||||
|
<% if current_site.owner.email_invoice %>
|
||||||
|
checked
|
||||||
|
<% end %>
|
||||||
|
>
|
||||||
|
</p>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Receive Comment Emails:
|
Receive Comment Emails:
|
||||||
<input name="send_comment_emails" type="hidden" value="false">
|
<input name="send_comment_emails" type="hidden" value="false">
|
||||||
|
@ -48,4 +60,4 @@
|
||||||
<div>
|
<div>
|
||||||
<input class="btn-Action" type="submit" value="Update Notification Settings">
|
<input class="btn-Action" type="submit" value="Update Notification Settings">
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
Loading…
Add table
Reference in a new issue