diff options
| -rw-r--r-- | StoneIsland/www/index.html | 13 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/account/ShippingView.js | 25 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/nav/AddressView.js | 2 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/view/Serializable.js | 2 |
4 files changed, 40 insertions, 2 deletions
diff --git a/StoneIsland/www/index.html b/StoneIsland/www/index.html index 1ca0ab77..6b3b6495 100644 --- a/StoneIsland/www/index.html +++ b/StoneIsland/www/index.html @@ -806,6 +806,19 @@ </div> </div> <input type="number" name="Phone" placeholder="Phone Number"> + + <div class="checkbox-container"> + <div class="checkbox-row"> + <div class="checkbox-toggle"> + <input id="save_as_default_cart_shipping" type="checkbox" name="IsDefault" value="true" required> + <label for="save_as_default_cart_shipping"></label> + </div> + <label class="checkbox-caption" for="save_as_default_cart_shipping"> + SAVE AS DEFAULT + </label> + </div> + </div> + </script> </body> diff --git a/StoneIsland/www/js/lib/account/ShippingView.js b/StoneIsland/www/js/lib/account/ShippingView.js index 65a55fdc..e2426d2e 100644 --- a/StoneIsland/www/js/lib/account/ShippingView.js +++ b/StoneIsland/www/js/lib/account/ShippingView.js @@ -2,6 +2,9 @@ var ShippingView = FormView.extend({ el: "#shipping", + createAction: sdk.address.add, + updateAction: sdk.address.update, + events: { }, @@ -24,8 +27,10 @@ var ShippingView = FormView.extend({ initialize: function(){ this.$form = this.$("form") this.$msg = this.$(".msg") + this.$isDefault = this.$("[name=IsDefault]") this.address = new AddressView ({ parent: this }) this.scroller = new IScroll('#shipping', app.iscroll_options) + this.preload() }, show: function(){ @@ -34,7 +39,25 @@ var ShippingView = FormView.extend({ document.body.className = "shipping" }, - finalize: function(){ + finalize: function(data){ + if (this.address.data && this.address.data.Id) { + sdk.address.destroy({ + id: this.address.data.Id, + success: function(){ console.log("destroyed") }, + error: function(){ console.log("destroyed") }, + }) + this.action = this.updateAction + } + else { + this.action = this.createAction + } + data.IsDefault = data.IsDefault ? "true" : "false" + data.Address = data.Address1 + "\n" + data.Address2 + delete data.Address1 + delete data.Address2 + console.log(data) + return + return data }, })
\ No newline at end of file diff --git a/StoneIsland/www/js/lib/nav/AddressView.js b/StoneIsland/www/js/lib/nav/AddressView.js index e63b0330..fb30062e 100644 --- a/StoneIsland/www/js/lib/nav/AddressView.js +++ b/StoneIsland/www/js/lib/nav/AddressView.js @@ -13,6 +13,7 @@ var AddressView = SerializableView.extend({ }, populate: function(data){ + this.data = data var address = data.Address.split("\n") data.Address1 = address[0] data.Address2 = address[1] @@ -37,6 +38,7 @@ var AddressView = SerializableView.extend({ data.UserId = auth.user_id delete data.Address1 delete data.Address2 + console.log(errors) }, }) diff --git a/StoneIsland/www/js/lib/view/Serializable.js b/StoneIsland/www/js/lib/view/Serializable.js index e3ef123c..72978985 100644 --- a/StoneIsland/www/js/lib/view/Serializable.js +++ b/StoneIsland/www/js/lib/view/Serializable.js @@ -65,7 +65,7 @@ var SerializableView = View.extend({ validate: function(errors){ var data = this.serialize() var errors = [] - var presence_msgs = this.validate_presence + var presence_msgs = this.validate_presence || {} Object.keys(presence_msgs).forEach(function(k){ if (! data[k]) errors.push( [ k, presence_msgs[k] ] ) }) |
