diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-11-30 16:14:29 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-11-30 16:14:29 -0500 |
| commit | 840cdf39595c6b8a29d2c91447d9fb8a91582a59 (patch) | |
| tree | 76ec09a7693993f7229948a79dace3f268f001ec /StoneIsland/platforms/ios/www/js/lib/nav/CreditCardView.js | |
| parent | 7920b278e296e99a069c7ab8b78b271e9665a84a (diff) | |
ui changes
Diffstat (limited to 'StoneIsland/platforms/ios/www/js/lib/nav/CreditCardView.js')
| -rw-r--r-- | StoneIsland/platforms/ios/www/js/lib/nav/CreditCardView.js | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/StoneIsland/platforms/ios/www/js/lib/nav/CreditCardView.js b/StoneIsland/platforms/ios/www/js/lib/nav/CreditCardView.js index 33ecab79..1855b7a9 100644 --- a/StoneIsland/platforms/ios/www/js/lib/nav/CreditCardView.js +++ b/StoneIsland/platforms/ios/www/js/lib/nav/CreditCardView.js @@ -1,27 +1,53 @@ -var CreditCardView = View.extend({ +var CreditCardView = SerializableView.extend({ template: $("#creditcard_template").html(), + cardOptions: { + accept: ['visa', 'mastercard', 'amex'], + }, + events: { }, initialize: function(opt){ this.parent = opt.parent - this.parent.$(".cc").html(this.template) + this.setElement( this.parent.$(".cc") ) + this.$el.html(this.template) + + this.$number = this.$("[name=Number]") + this.$number.validateCreditCard(this.updateCard.bind(this), this.cardOptions) }, populate: function(data){ + this.data = data + data.Number = "XXXX XXXX XXXX " + data.Number + this.$number.attr("type", "text") this.parent.$(".cc input").val("") - Object.keys(data).forEach(function(key){ - this.parent$(".cc [name=" + key + "]").val(data[key]) - }.bind(this)) + this.$(".cc input").val("") + this.load_data(data) + }, + + updateCard: function(card){ + // console.log(card) + // card.card_type.name + // card.card_type.valid }, validate_presence: { + 'Number': 'Please enter your credit card number.', + 'Cvv': 'Please enter your security code.', }, validate_fields: function(data, errors){ + var card = this.$number.validateCreditCard(this.cardOptions) + if (! card.valid) { errors.push([ "Number", "Your card number is invalid." ]) } + if (! data.ExpirationMonth || data.ExpirationMonth == "NONE") { errors.push([ "ExpirationMonth", "Please enter the expiration month." ]) } + if (! data.ExpirationYear || data.ExpirationYear == "NONE") { errors.push([ "ExpirationYear", "Please select the expiration month." ]) } + data.UserId = auth.user_id + if (card.valid) { + data.Type = card.card_type.name + } }, }) |
