diff --git a/front-api/controllers/item.rb b/front-api/controllers/item.rb index b4ec821..6eef4aa 100644 --- a/front-api/controllers/item.rb +++ b/front-api/controllers/item.rb @@ -1,7 +1,7 @@ -def prepare_items_for_mass_display(items) +def prepare_items_for_mass_display(items) items.to_json( :except => [:created_at, :current_input_price, :stock, :on_display], - :include => [ + :include => [ :unit , :multi_media_descriptions , :sub_category, @@ -15,7 +15,7 @@ end # gets single item for detailed display (like comments etc. ) # TODO: change when comments are added -get '/item/:id' do |id_s| +get '/item/:id' do |id_s| item = Item.find(id_s.to_i) prepare_items_for_mass_display(item) end @@ -32,7 +32,7 @@ end get '/item/offset/:offset/limit/:limit' do |offset_s, limit_s| offset, limit = mass_to_i(offset_s, limit_s) return [].to_json if offset_and_limit_invalid?(offset,limit) - + items = Item.best_selling(offset,limit) prepare_items_for_mass_display(items) end @@ -42,8 +42,8 @@ end get '/item/section/:section_id/offset/:offset/limit/:limit' do |section_id_s, offset_s, limit_s| section_id, offset, limit = mass_to_i(section_id_s, offset_s, limit_s) input_invalid = offset_and_limit_invalid?(offset,limit) or section_id <= 0 - return [].to_json if input_invalid - + return [].to_json if input_invalid + items = Item.best_selling_in_section(section_id, offset, limit) prepare_items_for_mass_display(items) end @@ -53,7 +53,7 @@ end get '/item/category/:category_id/offset/:offset/limit/:limit' do |category_id_s, offset_s, limit_s| category_id, offset, limit = mass_to_i(category_id_s, offset_s, limit_s) input_invalid = offset_and_limit_invalid?(offset,limit) or category_id <= 0 - return [].to_json if input_invalid + return [].to_json if input_invalid all_in_cat = filter_by_traits(Item.all_in_category(category_id)) items = Item.best_selling_in_category(category_id, offset,limit) @@ -69,13 +69,13 @@ get '/item/sub_category/:sub_category_id/offset/:offset/limit/:limit' do |sub_ca sub_category_id, offset, limit = mass_to_i(sub_category_id_s, offset_s, limit_s) input_invalid = offset_and_limit_invalid?(offset,limit) or sub_category_id <= 0 - return [].to_json if input_invalid + return [].to_json if input_invalid all_in_sub_cat = filter_by_traits(Item.all_in_sub_category(sub_category_id)) items = Item.best_selling_in_sub_category(sub_category_id, offset, limit) items = filter_by_traits(items) - + add_total_count_header(all_in_sub_cat.count) prepare_items_for_mass_display(items) @@ -83,13 +83,13 @@ end # gets list of items in cart without count -get '/cart/item_details' do +get '/cart/item_details' do cart = Cart.find_or_create(anonymous_id, -1) item_ids = cart.item_in_carts.map do |x| x.item_id end items = [] - items = Item.find(item_ids) if cart.item_in_carts.length > 0 + items = Item.find(item_ids) if cart.item_in_carts.length > 0 prepare_items_for_mass_display(items) end @@ -98,8 +98,9 @@ end get '/item/item_group/:item_group_id/offset/:offset/limit/:limit' do |item_group_id_s, offset_s, limit_s| item_group_id, offset, limit = mass_to_i(item_group_id_s, offset_s, limit_s) input_invalid = offset_and_limit_invalid?(offset,limit) or item_group_id <= 0 - return [].to_json if input_invalid + return [].to_json if input_invalid - items = ItemGroup.find(item_group_id).all_items(offset, limit) - prepare_items_for_mass_display(items) + items = ItemGroup.find_by_id(item_group_id) + return [].to_json if items.nil? + prepare_items_for_mass_display(items.all_items(offset, limit)) end diff --git a/front-ui/app/actions/cartActions.js b/front-ui/app/actions/cartActions.js index 9e92056..14bb2b5 100644 --- a/front-ui/app/actions/cartActions.js +++ b/front-ui/app/actions/cartActions.js @@ -49,6 +49,13 @@ var CartActions = { actionType: CartConstants.TAKE_ITEM_OUT, itemId: id }); + }, + setItemCount: function(itemId, count) { + AppDispatcher.handleAction({ + actionType: CartConstants.SET_ITEM_COUNT, + itemId: itemId, + count: count + }); } }; diff --git a/front-ui/app/components/account/login.js b/front-ui/app/components/account/login.js index 6592188..2d26285 100644 --- a/front-ui/app/components/account/login.js +++ b/front-ui/app/components/account/login.js @@ -101,7 +101,7 @@ var Login = React.createClass({ {this.getValidationMessages('password').map(this.renderErrorMessage)} - +