Merge pull request #5712 from mbudm/issue/5208

Add payment details to invoice
This commit is contained in:
Maikel
2020-08-28 09:46:49 +10:00
committed by GitHub
16 changed files with 94 additions and 21 deletions

View File

@@ -1,3 +1,5 @@
@import '../admin/variables';
/* -------------------------------------
* GLOBAL
*------------------------------------- */

View File

@@ -0,0 +1,45 @@
@import "../admin/variables";
// payment list, used in both invoice pdfs and order confirmation emails
.payments-list {
width: 100%;
border-collapse: separate;
border-spacing: 0;
font-size: 12px;
margin-bottom: 20px;
td {
padding: 5px;
border-bottom: 1px solid $medium-grey;
.payment-method-name {
display: block;
font-weight: bold;
}
.payment-method-description {
display: block;
}
}
thead th {
border-bottom: 1px solid $medium-grey;
padding: 10px 5px 5px;
text-transform: uppercase;
text-align: left;
}
.amount {
text-align: right;
padding-right: 15px;
}
.payment-state {
text-align: right;
}
.payment-state-value {
text-transform: uppercase;
}
}

View File

@@ -4,4 +4,8 @@ module OrderHelper
def last_payment_method(order)
OrderPaymentFinder.new(order).last_payment&.payment_method
end
def outstanding_balance_label(order)
order.outstanding_balance.negative? ? t(:credit_owed) : t(:balance_due)
end
end

View File

@@ -5,6 +5,7 @@ module Spree
helper HtmlHelper
helper ::CheckoutHelper
helper SpreeCurrencyHelper
helper Spree::Admin::PaymentsHelper
helper OrderHelper
include I18nHelper

View File

@@ -2,6 +2,7 @@ class SubscriptionMailer < Spree::BaseMailer
helper CheckoutHelper
helper ShopMailHelper
helper OrderHelper
helper Spree::Admin::PaymentsHelper
include I18nHelper
def confirmation_email(order)

View File

@@ -70,4 +70,4 @@
%p
= @order.distributor.invoice_text
= render 'spree/order_mailer/payment'
= render 'spree/shared/payment'

View File

@@ -71,4 +71,4 @@
%p
= @order.distributor.invoice_text
= render 'spree/order_mailer/payment'
= render 'spree/shared/payment'

View File

@@ -14,7 +14,7 @@
- if @order.outstanding_balance?
%h5.outstanding-balance
= @order.outstanding_balance < 0 ? t(:credit_owed) : t(:balance_due)
= outstanding_balance_label(@order)
\:
%strong= @order.display_outstanding_balance

View File

@@ -1,14 +0,0 @@
%p.callout
%span{:style => "float:right;"}
- if @order.paid?
= t :email_payment_paid
- else
= t :email_payment_not_paid
%strong
= t :email_payment_summary
%h4
= t :email_payment_method
%strong= last_payment_method(@order)&.name
%p
%em= last_payment_method(@order)&.description
%p &nbsp;

View File

@@ -21,7 +21,7 @@
= t :email_confirm_customer_details_html, distributor: @order.distributor.name
= render 'order_summary'
= render 'payment'
= render 'spree/shared/payment'
= render 'shipping'
= render 'special_instructions'
= render 'signoff'

View File

@@ -23,7 +23,7 @@
= @order.bill_address.phone if @order.bill_address.phone
= render 'order_summary'
= render 'payment'
= render 'spree/shared/payment'
= render 'shipping'
= render 'special_instructions'

View File

@@ -0,0 +1,15 @@
%p.callout
%span{:style => "float:right;"}
- if @order.outstanding_balance?
= outstanding_balance_label(@order)
\:
%strong= @order.display_outstanding_balance
- else
- if @order.paid?
= t :email_payment_paid
- else
= t :email_payment_not_paid
%strong
= t :email_payment_summary
- if @order.payments.any?
= render partial: 'spree/shared/payments_list', locals: { payments: @order.payments }

View File

@@ -0,0 +1,14 @@
%table.payments-list
%thead
%tr
%th= t('.date_time')
%th= t('.payment_method')
%th.payment-state= t('.payment_state')
%th.amount= t('.amount')
%tbody
- payments.each do |payment|
%tr
%td= l(payment.created_at, format: "%b %d, %Y %H:%M")
%td.payment-method-name= payment_method_name(payment)
%td.payment-state.payment-state-value= t(payment.state, scope: :payment_states, default: payment.state.capitalize)
%td.amount= payment.display_amount.to_html

View File

@@ -17,7 +17,7 @@
= render 'spree/order_mailer/order_summary'
= render 'spree/order_mailer/payment'
= render 'spree/shared/payment'
= render 'spree/order_mailer/shipping'
= render 'spree/order_mailer/special_instructions'

View File

@@ -28,7 +28,7 @@
= render 'spree/order_mailer/order_summary'
= render 'spree/order_mailer/payment'
= render 'spree/shared/payment'
= render 'spree/order_mailer/shipping'
= render 'spree/order_mailer/special_instructions'

View File

@@ -3138,6 +3138,11 @@ See the %{link} to find out more about %{sitename}'s features and to start using
one: "1 error prohibited this record from being saved:"
other: "%{count} errors prohibited this record from being saved:"
there_were_problems_with_the_following_fields: "There were problems with the following fields"
payments_list:
date_time: "Date/time"
amount: "Amount"
payment_method: "Payment Method"
payment_state: "Payment State"
errors:
messages:
blank: "can't be blank"