diff --git a/app/assets/javascripts/admin/payments/services/payment.js.coffee b/app/assets/javascripts/admin/payments/services/payment.js.coffee index a87497226d..487dafcd03 100644 --- a/app/assets/javascripts/admin/payments/services/payment.js.coffee +++ b/app/assets/javascripts/admin/payments/services/payment.js.coffee @@ -42,8 +42,9 @@ angular.module('admin.payments').factory 'Payment', (AdminStripeElements, curren submit: => munged = @preprocess() - PaymentResource.create({order_id: munged.order_id}, munged, (response, headers, status)=> - $window.location.pathname = "/admin/orders/" + munged.order_id + "/payments" + PaymentResource.create({order_id: munged.order_id}, munged, (response, headers, status) -> + document.body.innerHTML = Object.values(response).join('') + $window.history.pushState({}, '', "/admin/orders/" + munged.order_id + "/payments") , (response) -> StatusMessage.display 'error', t("spree.admin.payments.source_forms.stripe.error_saving_payment") ) diff --git a/app/controllers/spree/admin/payments_controller.rb b/app/controllers/spree/admin/payments_controller.rb index 6369f1ff74..40dcd40adc 100644 --- a/app/controllers/spree/admin/payments_controller.rb +++ b/app/controllers/spree/admin/payments_controller.rb @@ -33,23 +33,15 @@ module Spree return end - if @order.completed? - authorize_stripe_sca_payment - @payment.process_offline! - flash[:success] = flash_message_for(@payment, :successfully_created) + OrderWorkflow.new(@order).complete! unless @order.completed? - redirect_to spree.admin_order_payments_path(@order) - else - OrderWorkflow.new(@order).complete! - authorize_stripe_sca_payment - @payment.process_offline! - - flash[:success] = Spree.t(:new_order_completed) - redirect_to spree.edit_admin_order_url(@order) - end + authorize_stripe_sca_payment + @payment.process_offline! + flash[:success] = flash_message_for(@payment, :successfully_created) + redirect_to spree.admin_order_payments_path(@order) rescue Spree::Core::GatewayError => e flash[:error] = e.message.to_s - redirect_to spree.new_admin_order_payment_path(@order) + redirect_to spree.admin_order_payments_path(@order) end end diff --git a/config/locales/ar.yml b/config/locales/ar.yml index a925b175b3..bec87ea5bc 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -3590,7 +3590,6 @@ ar: gateway_error: "عملية الدفع فشلت" more: "أكثر" new_adjustment: "تعديل جديد" - new_order_completed: "طلب جديد مكتمل" new_tax_category: "فئة ضريبية جديدة" new_taxon: "اصنوفة جديدة" new_user: "مستخدم جديد" diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 19c9d51d48..db62afeef1 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -3395,7 +3395,6 @@ ca: gateway_error: "El pagament ha fallat" more: "Més" new_adjustment: "Nou ajustament" - new_order_completed: "S'ha completat la nova comanda" new_tax_category: "Nova categoria fiscal" new_taxon: "Nou tàxon" new_user: "Nou usuari" diff --git a/config/locales/cy.yml b/config/locales/cy.yml index df047c976d..5bb76c7923 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -3658,7 +3658,6 @@ cy: gateway_error: "Taliad wedi methu" more: "Mwy" new_adjustment: "Addasiad newydd" - new_order_completed: "Cwblhawyd archeb newydd" new_tax_category: "Categori treth newydd" new_taxon: "Tacson newydd" new_user: "Defnyddiwr newydd" diff --git a/config/locales/de_CH.yml b/config/locales/de_CH.yml index 1a674e2a91..af76b38e00 100644 --- a/config/locales/de_CH.yml +++ b/config/locales/de_CH.yml @@ -3397,7 +3397,6 @@ de_CH: gateway_error: "Zahlung fehlgeschlagen" more: "Mehr" new_adjustment: "Neue Anpassung" - new_order_completed: "Neue Bestellung abgeschlossen" new_tax_category: "Neue Steuerkategorie" new_taxon: "Neue Kategorie" new_user: "Neuer Benutzer" diff --git a/config/locales/de_DE.yml b/config/locales/de_DE.yml index 7dc883ee60..74b25fd023 100644 --- a/config/locales/de_DE.yml +++ b/config/locales/de_DE.yml @@ -3637,7 +3637,6 @@ de_DE: gateway_error: "Zahlung fehlgeschlagen" more: "Mehr" new_adjustment: "Neue Anpassung" - new_order_completed: "Neue Bestellung abgeschlossen" new_tax_category: "Neue Steuerkategorie" new_taxon: "Neue Kategorie" new_user: "Neuer Benutzer" diff --git a/config/locales/el.yml b/config/locales/el.yml index 382e750215..f45ce356a1 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -3055,7 +3055,6 @@ el: gateway_error: "Η πληρωμή απέτυχε" more: "Περισσότερα" new_adjustment: "Νέα προσαρμογή" - new_order_completed: "Η νέα παραγγελία ολοκληρώθηκε" new_tax_category: "Νέα Φορολογική Κατηγορία" new_taxon: "Νέο ταξί" new_user: "Νέος χρήστης" diff --git a/config/locales/en.yml b/config/locales/en.yml index d7ce26bfc6..7ebf889ee8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3793,7 +3793,6 @@ See the %{link} to find out more about %{sitename}'s features and to start using gateway_error: "Payment failed" more: "More" new_adjustment: "New adjustment" - new_order_completed: "New order completed" new_tax_category: "New Tax Category" new_taxon: "New taxon" new_user: "New user" diff --git a/config/locales/en_CA.yml b/config/locales/en_CA.yml index 45022f7953..fddceed897 100644 --- a/config/locales/en_CA.yml +++ b/config/locales/en_CA.yml @@ -3620,7 +3620,6 @@ en_CA: gateway_error: "Payment failed" more: "More" new_adjustment: "New adjustment" - new_order_completed: "New order completed" new_tax_category: "New Tax Category" new_taxon: "New taxon" new_user: "New user" diff --git a/config/locales/en_FR.yml b/config/locales/en_FR.yml index 345aeaaf2c..037bd9d616 100644 --- a/config/locales/en_FR.yml +++ b/config/locales/en_FR.yml @@ -3625,7 +3625,6 @@ en_FR: gateway_error: "Payment failed" more: "More" new_adjustment: "New adjustment" - new_order_completed: "New order completed" new_tax_category: "New Tax Category" new_taxon: "New taxon" new_user: "New user" diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index 0f6ac71b70..f6b4f72d95 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -3622,7 +3622,6 @@ en_GB: gateway_error: "Payment failed" more: "More" new_adjustment: "New adjustment" - new_order_completed: "New order completed" new_tax_category: "New Tax Category" new_taxon: "New taxon" new_user: "New user" diff --git a/config/locales/en_IE.yml b/config/locales/en_IE.yml index c2c7a01f48..20101b1e99 100644 --- a/config/locales/en_IE.yml +++ b/config/locales/en_IE.yml @@ -3484,7 +3484,6 @@ en_IE: gateway_error: "Payment failed" more: "More" new_adjustment: "New adjustment" - new_order_completed: "New order completed" new_tax_category: "New Tax Category" new_taxon: "New taxon" new_user: "New user" diff --git a/config/locales/en_US.yml b/config/locales/en_US.yml index 5c706bcb9e..d44ae5e450 100644 --- a/config/locales/en_US.yml +++ b/config/locales/en_US.yml @@ -3330,7 +3330,6 @@ en_US: gateway_error: "Payment failed" more: "More" new_adjustment: "New adjustment" - new_order_completed: "New order completed" new_tax_category: "New Tax Category" new_taxon: "New taxon" new_user: "New user" diff --git a/config/locales/es.yml b/config/locales/es.yml index daa0a6435e..43b6609faa 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -3473,7 +3473,6 @@ es: gateway_error: "Pago fallido" more: "Más" new_adjustment: "Nuevo ajuste" - new_order_completed: "Nuevo pedido completado" new_tax_category: "Nueva categoría de impuestos" new_taxon: "Nuevo taxón" new_user: "Nuevo usuario" diff --git a/config/locales/es_CR.yml b/config/locales/es_CR.yml index 9c5ec8b9fc..f4e50e73d6 100644 --- a/config/locales/es_CR.yml +++ b/config/locales/es_CR.yml @@ -3434,7 +3434,6 @@ es_CR: gateway_error: "Pago fallido" more: "Más" new_adjustment: "Nuevo ajuste" - new_order_completed: "Nuevo pedido completado" new_tax_category: "Nueva categoría de impuestos" new_taxon: "Nuevo taxon" new_user: "Nuevo usuari" diff --git a/config/locales/es_US.yml b/config/locales/es_US.yml index 120de6edde..2a336160e1 100644 --- a/config/locales/es_US.yml +++ b/config/locales/es_US.yml @@ -3290,7 +3290,6 @@ es_US: gateway_error: "Pago fallido" more: "Más" new_adjustment: "Nuevo ajuste" - new_order_completed: "Nuevo pedido completado" new_tax_category: "Nueva categoría de impuestos" new_user: "Nuevo usuario" no_pending_payments: "No tiene pagos pendientes" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 8a58871859..07191e59ef 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -3681,7 +3681,6 @@ fr: gateway_error: "Le paiement a échoué" more: "Plus" new_adjustment: "Nouvel ajustement" - new_order_completed: "Nouvelle commande finalisée" new_tax_category: "Nouvelle catégorie de taxe" new_taxon: "Nouvelle taxonomie" new_user: "Nouvel utilisateur" diff --git a/config/locales/fr_BE.yml b/config/locales/fr_BE.yml index 8ae7394aca..037e84335a 100644 --- a/config/locales/fr_BE.yml +++ b/config/locales/fr_BE.yml @@ -3296,7 +3296,6 @@ fr_BE: gateway_error: "Paiement échoué" more: "Plus" new_adjustment: "Nouvel ajustement" - new_order_completed: "Nouvelle commande terminée" new_tax_category: "Nouvelle catégorie de taxe" no_pending_payments: "Aucun paiement en attente" none: "Aucun" diff --git a/config/locales/fr_CA.yml b/config/locales/fr_CA.yml index cb11b1c853..c61e98c81e 100644 --- a/config/locales/fr_CA.yml +++ b/config/locales/fr_CA.yml @@ -3662,7 +3662,6 @@ fr_CA: gateway_error: "Le paiement a échoué" more: "Plus" new_adjustment: "Nouvel ajustement" - new_order_completed: "Nouvelle commande finalisée" new_tax_category: "Nouvelle catégorie de taxe" new_taxon: "Nouvelle taxonomie" new_user: "Nouvel utilisateur" diff --git a/config/locales/fr_CH.yml b/config/locales/fr_CH.yml index 910458747b..d8208a6dce 100644 --- a/config/locales/fr_CH.yml +++ b/config/locales/fr_CH.yml @@ -3441,7 +3441,6 @@ fr_CH: gateway_error: "Le paiement a échoué" more: "Plus" new_adjustment: "Nouvel ajustement" - new_order_completed: "Nouvelle commande finalisée" new_tax_category: "Nouvelle catégorie de taxe" new_taxon: "Nouvelle taxonomie" new_user: "Nouvel utilisateur" diff --git a/config/locales/fr_CM.yml b/config/locales/fr_CM.yml index ec7b0e23f7..0981ed3836 100644 --- a/config/locales/fr_CM.yml +++ b/config/locales/fr_CM.yml @@ -3335,7 +3335,6 @@ fr_CM: gateway_error: "Le paiement a échoué" more: "Plus" new_adjustment: "Nouvel ajustement" - new_order_completed: "Nouvelle commande finalisée" new_tax_category: "Nouvelle catégorie de taxe" new_taxon: "Nouvelle taxonomie" new_user: "Nouvel utilisateur" diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 8bb30b3ab4..add6072f47 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -3424,7 +3424,6 @@ hu: gateway_error: "Fizetés meghiúsult" more: "Több" new_adjustment: "Új beállítás" - new_order_completed: "Új megrendelés elkészült" new_tax_category: "Új adókategória" new_taxon: "Új taxon" new_user: "Új felhasználó" diff --git a/config/locales/it.yml b/config/locales/it.yml index 052d09410c..d7e84d2eb9 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -3503,7 +3503,6 @@ it: gateway_error: "Pagamento fallito" more: "Di più" new_adjustment: "Nuovo aggiustamento" - new_order_completed: "Nuova richiesta completata" new_tax_category: "Nuova Categoria imposta" new_taxon: "Nuova tassonomia" new_user: "Nuovo utente" diff --git a/config/locales/it_CH.yml b/config/locales/it_CH.yml index 5d134c4c93..5de3080b14 100644 --- a/config/locales/it_CH.yml +++ b/config/locales/it_CH.yml @@ -3370,7 +3370,6 @@ it_CH: gateway_error: "Pagamento fallito" more: "Di più" new_adjustment: "Nuovo aggiustamento" - new_order_completed: "Nuova richiesta completata" new_tax_category: "Nuova Categoria imposta" new_taxon: "Nuova tassonomia" new_user: "Nuovo utente" diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 832ff616f6..9c69fe69fc 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -3331,7 +3331,6 @@ ko: gateway_error: "결제 실패" more: "추가 정보" new_adjustment: "새 조정" - new_order_completed: "신규 주문 완료" new_tax_category: "신규 세금 카테고리" new_taxon: "새 분류군" new_user: "신규 사용자" diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 9287fc7ae7..0f531a775d 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -3588,7 +3588,6 @@ nb: gateway_error: "Betalingen feilet" more: "Mer" new_adjustment: "Ny justering" - new_order_completed: "Ny bestilling fullført" new_tax_category: "Ny avgiftskategori" new_taxon: "Ny kategori" new_user: "Ny bruker" diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index efc19adce1..9d90fbc880 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -3232,7 +3232,6 @@ pt_BR: gateway_error: "Falha no pagamento" more: "Mais" new_adjustment: "Novo ajuste" - new_order_completed: "Novo pedido realizado" new_tax_category: "Nova Categoria de Taxa" new_taxon: "Nova taxonomia" new_user: "Novo usuário" diff --git a/config/locales/ru.yml b/config/locales/ru.yml index dd5ecf5052..7ec1efb27c 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -3647,7 +3647,6 @@ ru: gateway_error: "Платеж не прошел" more: "Ещё" new_adjustment: "Новая корректировка" - new_order_completed: "Новый заказ выполнен" new_tax_category: "Новая Налоговая Категория" new_taxon: "Новая таксономия" new_user: "Новый пользователь" diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 8f3baf1703..76a6c8d4e8 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -3222,7 +3222,6 @@ tr: gateway_error: "Ödeme başarısız" more: "Daha Fazla" new_adjustment: "Yeni düzenleme" - new_order_completed: "Yeni sipariş tamamlandı" new_tax_category: "Yeni Vergi Kategorisi" new_taxon: "Yeni kategori" new_user: "Yeni kullanıcı" diff --git a/config/locales/uk.yml b/config/locales/uk.yml index ccb3955f19..f60254619c 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -3446,7 +3446,6 @@ uk: gateway_error: "Платіж не вдався" more: "Більше" new_adjustment: "Нове коригування" - new_order_completed: "Нове замовлення виконано" new_tax_category: "Нова податкова категорія" new_taxon: "Новий таксон" new_user: "Новий користувач" diff --git a/spec/controllers/spree/admin/orders/payments/payments_controller_spec.rb b/spec/controllers/spree/admin/orders/payments/payments_controller_spec.rb index 53003d8700..a7a06816d5 100644 --- a/spec/controllers/spree/admin/orders/payments/payments_controller_spec.rb +++ b/spec/controllers/spree/admin/orders/payments/payments_controller_spec.rb @@ -57,7 +57,7 @@ describe Spree::Admin::PaymentsController, type: :controller do it "redirects to new payment page with flash error" do spree_post :create, payment: params, order_id: order.number - redirects_to_new_payment_page_with_flash_error("Stripe Authorization Failure") + redirects_to_payments_list_page_with_flash_error("Stripe Authorization Failure") expect(order.reload.payments.last.state).to eq "checkout" end end @@ -70,7 +70,7 @@ describe Spree::Admin::PaymentsController, type: :controller do it "redirects to new payment page with flash error" do spree_post :create, payment: params, order_id: order.number - redirects_to_new_payment_page_with_flash_error("Authorization Failure") + redirects_to_payments_list_page_with_flash_error("Authorization Failure") expect(order.reload.payments.last.state).to eq "checkout" end end @@ -85,7 +85,7 @@ describe Spree::Admin::PaymentsController, type: :controller do it "redirects to new payment page with flash error" do spree_post :create, payment: params, order_id: order.number - redirects_to_new_payment_page_with_flash_error('Action required') + redirects_to_payments_list_page_with_flash_error('Action required') end end @@ -127,8 +127,8 @@ describe Spree::Admin::PaymentsController, type: :controller do expect(flash[:success]).to eq "Payment has been successfully created!" end - def redirects_to_new_payment_page_with_flash_error(flash_error) - expect_redirect_to spree.new_admin_order_payment_url(order) + def redirects_to_payments_list_page_with_flash_error(flash_error) + expect_redirect_to spree.admin_order_payments_url(order) expect(flash[:error]).to eq flash_error end diff --git a/spec/system/admin/payments_spec.rb b/spec/system/admin/payments_spec.rb index 6abf55b1dc..f34c35e6bc 100644 --- a/spec/system/admin/payments_spec.rb +++ b/spec/system/admin/payments_spec.rb @@ -61,6 +61,7 @@ describe ' click_button "Update" expect(page).to have_content "Payments" + expect(page).to have_content "Payment has been successfully created!" order.reload expect(order.state).to eq "complete"