mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Change name to AdminStripeElements to avoid confusion; add status bar for StatusMessages
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
angular.module("admin.payments").controller "PaymentCtrl", ($scope, Payment, Loading) ->
|
||||
angular.module("admin.payments").controller "PaymentCtrl", ($scope, Payment, StatusMessage) ->
|
||||
$scope.form_data = Payment.form_data
|
||||
$scope.submitted = false
|
||||
$scope.StatusMessage = StatusMessage
|
||||
|
||||
$scope.submitPayment = () ->
|
||||
return false if $scope.submitted == true
|
||||
$scope.submitted = true
|
||||
Loading.message = t("submitting_payment")
|
||||
StatusMessage.display 'progress', t("submitting_payment")
|
||||
Payment.purchase()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
angular.module("admin.payments").directive "stripeElements", ($injector, StripeElements) ->
|
||||
angular.module('admin.payments').directive "stripeElements", ($injector, AdminStripeElements) ->
|
||||
restrict: 'E'
|
||||
template: "<label for='card-element'>\
|
||||
<div id='card-element'></div>\
|
||||
@@ -31,5 +31,5 @@ angular.module("admin.payments").directive "stripeElements", ($injector, StripeE
|
||||
displayError.textContent = ''
|
||||
return
|
||||
|
||||
StripeElements.stripe = stripe
|
||||
StripeElements.card = card
|
||||
AdminStripeElements.stripe = stripe
|
||||
AdminStripeElements.card = card
|
||||
|
||||
@@ -1 +1 @@
|
||||
angular.module("admin.payments", ['OfnStripe','Loading','RailsFlashLoader','ngResource','admin.resources', 'ofn.admin','Navigation'])
|
||||
angular.module("admin.payments", ['ngResource','admin.resources', 'ofn.admin', "admin.utils"])
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
angular.module('admin.payments').factory 'Payment', (StripeElements, currentOrderNumber, paymentMethods, PaymentMethods, PaymentResource, Navigation, RailsFlashLoader)->
|
||||
angular.module('admin.payments').factory 'Payment', (AdminStripeElements, currentOrderNumber, paymentMethods, PaymentMethods, PaymentResource, StatusMessage)->
|
||||
new class Payment
|
||||
order: currentOrderNumber
|
||||
form_data: {}
|
||||
@@ -34,14 +34,14 @@ angular.module('admin.payments').factory 'Payment', (StripeElements, currentOrde
|
||||
|
||||
purchase: ->
|
||||
if @paymentMethodType() == 'stripe'
|
||||
StripeElements.requestToken(@form_data, @submit)
|
||||
AdminStripeElements.requestToken(@form_data, @submit)
|
||||
else
|
||||
@submit()
|
||||
|
||||
submit: =>
|
||||
munged = @preprocess()
|
||||
PaymentResource.create({order_id: munged.order_id}, munged, (response, headers, status)=>
|
||||
Navigation.go "/admin/orders/" + munged.order_id + "/payments"
|
||||
$window.location.pathname = "/admin/orders/" + munged.order_id + "/payments"
|
||||
, (response) ->
|
||||
RailsFlashLoader.loadFlash({error: t("error saving payment")})
|
||||
StatusMessage.display 'error', t("error saving payment")
|
||||
)
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
angular.module("admin.payments").factory 'StripeElements', ($rootScope, Loading, RailsFlashLoader) ->
|
||||
new class StripeElements
|
||||
# TODO: add locale here for translations of error messages etc. from Stripe
|
||||
angular.module("admin.payments").factory 'AdminStripeElements', ($rootScope, StatusMessage) ->
|
||||
new class AdminStripeElements
|
||||
|
||||
# These are both set from the StripeElements directive
|
||||
# These are both set from the AdminStripeElements directive
|
||||
stripe: null
|
||||
card: null
|
||||
|
||||
# New Stripe Elements method
|
||||
requestToken: (secrets, submit, loading_message = t("processing_payment")) ->
|
||||
requestToken: (secrets, submit) ->
|
||||
return unless @stripe? && @card?
|
||||
|
||||
Loading.message = loading_message
|
||||
cardData = @makeCardData(secrets)
|
||||
|
||||
@stripe.createToken(@card, cardData).then (response) =>
|
||||
if(response.error)
|
||||
Loading.clear()
|
||||
RailsFlashLoader.loadFlash({error: t("error") + ": #{response.error.message}"})
|
||||
StatusMessage.display 'error', response.error.message
|
||||
else
|
||||
secrets.token = response.token.id
|
||||
secrets.cc_type = @mapCC(response.token.card.brand)
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
/ insert_before "fieldset.no-border-top"
|
||||
|
||||
%save-bar{ persist: "true" }
|
||||
Reference in New Issue
Block a user