Alter cards interface to allow updating of default card

This commit is contained in:
Rob Harrington
2018-04-19 16:28:53 +10:00
parent 1327b9dc2c
commit e88e963b4c
6 changed files with 97 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
Darkswarm.controller "CreditCardsCtrl", ($scope, $timeout, CreditCard, CreditCards, Dates) ->
Darkswarm.controller "CreditCardsCtrl", ($scope, CreditCard, CreditCards) ->
angular.extend(this, new FieldsetMixin($scope))
$scope.savedCreditCards = CreditCards.saved
$scope.setDefault = CreditCards.setDefault
$scope.CreditCard = CreditCard
$scope.secrets = CreditCard.secrets
$scope.showForm = CreditCard.show

View File

@@ -1,6 +1,15 @@
Darkswarm.factory 'CreditCards', (savedCreditCards)->
Darkswarm.factory 'CreditCards', ($http, $filter, savedCreditCards, RailsFlashLoader)->
new class CreditCard
saved: savedCreditCards
saved: $filter('orderBy')(savedCreditCards,'-is_default')
add: (card) ->
@saved.push card
setDefault: (card) =>
card.is_default = true
for othercard in @saved when othercard != card
othercard.is_default = false
$http.put("/credit_cards/#{card.id}", is_default: true).then (data) ->
RailsFlashLoader.loadFlash({success: t('js.default_card_updated')})
, (response) ->
RailsFlashLoader.loadFlash({error: response.data.flash.error})