Fix ordering product issues by reverting emberization of product ordering

This commit is contained in:
2014-08-29 15:30:41 +02:00
parent aac47d3b51
commit ad4ad6bbb9
8 changed files with 54 additions and 50 deletions
@@ -69,11 +69,12 @@ App.ApplicationController = Ember.Controller.extend
orders_placed_count: (data)->
@set 'list.supplier.orders_placed_count', data.count
new_order: (data)->
return if @store.all('order').findProperty('id', data.order.id)
# return if @store.all('order').findProperty('id', data.order.id)
@store.pushPayload data
@store.findById('order', data.order.id).then (order)->
list = order.get('list')
list.get('orders').addObject(order)
@store.findById('list', data.list.id).then (list)=> @set 'controllers.application.list', list
# @store.findById('order', data.order.id).then (order)->
# list = order.get('list')
# list.get('orders').addObject(order)
setCurrentList: (callback)->
@@ -7,42 +7,35 @@ App.ProductOrdersController = Ember.ArrayController.extend
product_orders: (->@get('model')).property('model')
showTotal: (-> if @get('model.length') && @get('model.length') > 1 then true else false ).property('model.length')
actions:
clearProductOrders: ->
#TODO: make clearing of unpersisted product orders
@store.all('product_order').toArray().invoke 'eraseRecord'
# clearProductOrders: ->
# #TODO: make clearing of unpersisted product orders
# @get('product_orders').invoke 'eraseRecord'
orderProducts: ->
table = @get('controllers.table.model')
list = @get('controllers.application.list')
order = @store.createRecord('order', list: list, table: table)
new_product_orders = @store.all('product_order').filterProperty('order', null)
order.get('product_orders').pushObjects(new_product_orders)
#error = @ajaxError (jqXHR)=>
#new_product_orders.invoke 'eraseRecord'
#@redirect_to 'index', message: 'order_could_not_be_processed'
# table = @get('controllers.table.model')
# list = @get('controllers.application.list')
# order = @store.createRecord('order', list: list, table: table)
# new_product_orders = @store.all('product_order').filterProperty('order', null)
# order.get('product_orders').pushObjects(new_product_orders)
#
# order.save().then (response)=>
# new_product_orders.invoke 'eraseRecord'
# if @get('controllers.application.list')
# @transitionToRoute 'active_list'
# else
# # Get list info from the server
# @get('controllers.application').setCurrentList ->
# @transitionToRoute 'active_list'
# , @ajaxError (jqXHR)=>
# new_product_orders.invoke 'eraseRecord'
# @redirect_to 'index', message: 'order_could_not_be_processed'
order.save().then (response)=>
new_product_orders.invoke 'eraseRecord'
if @get('controllers.application.list')
@transitionToRoute 'active_list'
else
# Get list info from the server
@get('controllers.application').setCurrentList ->
@transitionToRoute 'active_list'
, @ajaxError (jqXHR)=>
new_product_orders.invoke 'eraseRecord'
@redirect_to 'index', message: 'order_could_not_be_processed'
#orders = @store.all('product_order').toArray()
#data = orders.map( (order)->order.serialize() )
#dataObject = {order: {}}
#for product_order in data
#dataObject['order'][product_order.product_id] = product_order.quantity
##$.ajax
##url: Routes.user_order_selected_products_path()
##type: "POST",
##data: JSON.stringify(dataObject),
##contentType: "application/json",
##dataType: 'json'
#orders.invoke 'unloadRecord'
#data = @get('product_orders').map( (po)->po.serialize() )
dataObject = order: {table_id: @get('controllers.table.model.id')}
@get('product_orders').forEach (product_order)-> dataObject['order'][product_order.get('product.id')] = product_order.get('quantity')
Ember.$.post "#{$data_host}/user/orders.json", dataObject
@transitionToRoute 'active_list'
@get('product_orders').invoke 'unloadRecord'
removeProductOrder: (product_order)->
product_order.eraseRecord()
@@ -1,6 +1,4 @@
hr.hide-for-medium-up
if modelDisabled
a.tiny.button.right{action "clearProductOrders"} href="#" ×
.clearfix
.panel
ul.product-orders