diff options
Diffstat (limited to 'StoneIsland/www/js/lib')
| -rwxr-xr-x | StoneIsland/www/js/lib/account/AccountView.js | 50 | ||||
| -rwxr-xr-x | StoneIsland/www/js/lib/auth/LoginView.js | 2 | ||||
| -rwxr-xr-x | StoneIsland/www/js/lib/cart/CartView.js | 2 | ||||
| -rwxr-xr-x | StoneIsland/www/js/lib/etc/push.js | 1 | ||||
| -rwxr-xr-x | StoneIsland/www/js/lib/products/CollectionView.js | 23 | ||||
| -rwxr-xr-x | StoneIsland/www/js/lib/products/ProductView.js | 57 |
6 files changed, 104 insertions, 31 deletions
diff --git a/StoneIsland/www/js/lib/account/AccountView.js b/StoneIsland/www/js/lib/account/AccountView.js index 7d3b719a..0d015ab3 100755 --- a/StoneIsland/www/js/lib/account/AccountView.js +++ b/StoneIsland/www/js/lib/account/AccountView.js @@ -98,25 +98,45 @@ var AccountView = View.extend({ } if ( ! auth.has_cart() ) { app.curtain.show("loading") - auth.create_cart(function(){ - if (auth.deferred_product) { - auth.add_deferred_product_to_cart(function(){ - app.router.go("cart") - setTimeout(function(){ - app.curtain.hide("loading") - }, 500) - }) - } - else { - app.router.go("account/profile") - app.curtain.hide("loading") - } + auth.create_cart({ + success: function(){ + if (auth.deferred_product) { + auth.add_deferred_product_to_cart({ + success: function(){ + app.router.go("cart") + setTimeout(function(){ + app.curtain.hide("loading") + }, 500) + }, + error: function(){ + // TODO: should not be called because cart was just created + console.log("ERROR ADDING PRODUCT TO NEW CART") + }, + }) + } + else { + app.router.go("account/profile") + app.curtain.hide("loading") + } + }, + error: function(){ + // error CREATING cart... + console.log("ERROR CREATING CART") + auth.log_out() + app.account.logged_out() + }, }) } else { if (auth.deferred_product) { - auth.add_deferred_product_to_cart(function(){ - app.router.go("cart") + auth.add_deferred_product_to_cart({ + success: function(){ + app.router.go("cart") + }, + error: function(){ + // TODO: cart might be invalid.. + console.log("CALLED LOGGED_IN, HAD DEFERRED PRODUCT") + }, }) } else { diff --git a/StoneIsland/www/js/lib/auth/LoginView.js b/StoneIsland/www/js/lib/auth/LoginView.js index 88a15f7e..d7968c22 100755 --- a/StoneIsland/www/js/lib/auth/LoginView.js +++ b/StoneIsland/www/js/lib/auth/LoginView.js @@ -33,7 +33,7 @@ var LoginView = FormView.extend({ }, forgot_password: function(){ - window.open("http://www.stoneisland.com//r/passwordrecovery/recoveryrequest", '_system') + window.open("http://www.stoneisland.com/", '_system') }, validate_presence: { diff --git a/StoneIsland/www/js/lib/cart/CartView.js b/StoneIsland/www/js/lib/cart/CartView.js index a10efb46..6ed8238f 100755 --- a/StoneIsland/www/js/lib/cart/CartView.js +++ b/StoneIsland/www/js/lib/cart/CartView.js @@ -30,7 +30,7 @@ var CartView = View.extend({ }.bind(this), error: function(data){ console.log(data) - + auth.clear_cart() }, }) }, diff --git a/StoneIsland/www/js/lib/etc/push.js b/StoneIsland/www/js/lib/etc/push.js index 5585ba71..634ffe6d 100755 --- a/StoneIsland/www/js/lib/etc/push.js +++ b/StoneIsland/www/js/lib/etc/push.js @@ -55,6 +55,7 @@ var push = (function(){ app.intro.$alert.show().html("[ HUB UPDATED ]") } else { + auth.clear_cart() app.intro.$alert.show().html("[ STORE UPDATED ]") } } diff --git a/StoneIsland/www/js/lib/products/CollectionView.js b/StoneIsland/www/js/lib/products/CollectionView.js index 1c50c80d..3fd4a757 100755 --- a/StoneIsland/www/js/lib/products/CollectionView.js +++ b/StoneIsland/www/js/lib/products/CollectionView.js @@ -80,8 +80,10 @@ var CollectionView = ScrollableView.extend({ else { console.log("populate 2") this.data = data + this.loaded = false console.log(data) } + console.log(">>>>>>>> YES ") if (! this.loaded) { console.log("populate 3") this.loaded = true @@ -89,7 +91,16 @@ var CollectionView = ScrollableView.extend({ this.$content.empty() // DefaultCode10 // data.SearchResponseFull.Results.Items.length = 1 - this.$content.toggleClass("single", (data.SearchResponseFull.Results.Items.length == 1)) + var is_single_product = (data.SearchResponseFull.Results.Items.length == 1) + this.$content.toggleClass("single", is_single_product) + + if (is_single_product) { + console.log("IS SINGLE PRODUCT") + var item = data.SearchResponseFull.Results.Items[0] + var url = sdk.image(item['DefaultCode10'], '13_f') + var img = new Image () + img.src = url + } // if (data.SearchResponseFull.Results.Items.length == 1) { // app.footer.hide() @@ -98,16 +109,20 @@ var CollectionView = ScrollableView.extend({ // app.footer.show("FILTER") // } - data.SearchResponseFull.Results.Items.forEach(this.append.bind(this)) + console.log( data.SearchResponseFull.Results.Items.length ) + data.SearchResponseFull.Results.Items.forEach(function(item){ + console.log(">>> ITEM") + this.append(item, is_single_product) + }.bind(this)) this.deferScrollToTop() } this.afterFetchCallback && this.afterFetchCallback() app.collection.deferRefresh() }, - append: function(item){ + append: function(item, is_single_product){ this.items[ item['Code8'] ] = item - var t = this.template.replace(/{{image}}/, sdk.image(item['DefaultCode10'], '11_f')) + var t = this.template.replace(/{{image}}/, sdk.image(item['DefaultCode10'], is_single_product ? '13_f' : '11_f')) .replace(/{{code8}}/, item['Code8']) this.$content.append(t) }, diff --git a/StoneIsland/www/js/lib/products/ProductView.js b/StoneIsland/www/js/lib/products/ProductView.js index 9ce4a1f3..72ff9da3 100755 --- a/StoneIsland/www/js/lib/products/ProductView.js +++ b/StoneIsland/www/js/lib/products/ProductView.js @@ -224,6 +224,7 @@ var ProductView = ScrollableView.extend({ sizes[ size['SizeId'] ] = { id: label, label: label.toUpperCase(), + value: size['SizeId'], colors: {}, } }) @@ -246,6 +247,7 @@ var ProductView = ScrollableView.extend({ }.bind(this)) app.selector.select("style", sizes, function(size){ + console.log(size) this.size = size.value this.$size.html(size.label) }.bind(this)) @@ -277,27 +279,62 @@ var ProductView = ScrollableView.extend({ }, add_to_cart: function(opt){ - auth.deferred_product = { Size: this.size, Code10: this.code } + var deferred_product = auth.deferred_product = { Size: this.size, Code10: this.code } + console.log("ADDING " + this.size + " " + this.code ) + // if we are not logged in... if ( ! auth.logged_in() ) { app.router.go("account/login") app.last_view = app.cart } + // if we don't have a cart setup... else if ( ! auth.has_cart() ) { app.curtain.show("loading") - auth.create_cart(function(){ - auth.add_deferred_product_to_cart(function(){ + auth.create_cart({ + success: function(){ + auth.add_deferred_product_to_cart({ + success: function(){ + app.curtain.hide("loading") + app.router.go("cart") + }, + error: function(){ + // SHOULD NOT BE A PROBLEM + console.log("ERROR ADDING PRODUCT TO NEW CART SIMPLE ADD TO CART") + app.curtain.hide("loading") + app.router.go("account/login") + auth.deferred_product = deferred_product + app.last_view = app.cart + }, + }) + }, + error: function(){ + // ERROR CREATING CART? + console.log("ERROR CREATING CART") + auth.log_out() + app.account.logged_out() app.curtain.hide("loading") - app.router.go("cart") - }) + app.router.go("account/login") + auth.deferred_product = deferred_product + app.last_view = app.cart + }, }) } else { app.curtain.show("loading") - auth.add_deferred_product_to_cart(function(){ - app.curtain.hide("loading") - if (opt.route) { - app.router.go("cart") - } + auth.add_deferred_product_to_cart({ + success: function(){ + app.curtain.hide("loading") + if (opt.route) { + app.router.go("cart") + } + }, + error: function(){ + console.log("CART MIGHT BE OLD") + // TODO - CART MIGHT BE OLD + app.curtain.hide("loading") + app.router.go("account/login") + auth.deferred_product = deferred_product + app.last_view = app.cart + }, }) } }, |
