def create_order(cls, id=None, buyer_id='877673433', item_list=['92399069', '83768385'], mobile='', **kwargs): # if not order_id: # order_id = get_order_id() # o = cls(order_id=order_id, buyer_id=buyer_id, state=Order_State_Machine.get_initial_state()) # o.save() # for item_id in item_list: # ocr = Order_Item_Rel(order=o, item_id=item_id) # ocr.save() # #TODO:change the state directly? # o.goto_next('B', 'create order') #TODO:improve below items_json = kwargs.get('items_json', '') if items_json: item_list = json.loads(items_json) #pdb.set_trace() #item_list = items_dict['items'] #order_id = item_list.get('order_id', None) #TODO:default #buyer_id = items_dict.get('buyer_id', '') #TODO:php pass buyer_username? #mobile = item_list.get('mobile', '') if not buyer_id: buyer_id = kwargs.get('buyer_id', '877673433') if not mobile: mobile = kwargs.get('mobile', '') if not id: id = kwargs.get('id', None) if not id: id = get_order_id() o = Service_Order(id=id, buyer_id=buyer_id, state=cls.get_state_machine().get_initial_state(), mobile=mobile) #pdb.set_trace() o.save() for it in item_list: if type(it) == str: #not passing snapshot by json item_id = it else: item_id = it['commodity_id'] ocr = Order_Item_Rel(order=o, item_id=item_id) ocr.save() o.goto_next('B', 'create order') #save the snapshot save_snapshot( id, item_list, default_snapshot_class=settings.SERVICE_COMMODITY_SNAPSHOT_CLASS, **kwargs) return id
def create_order(cls, id=None, buyer_id="877673433", item_list=["92399069", "83768385"], **kwargs): items_json = kwargs.get("items_json", "") if items_json: item_list = json.loads(items_json) if not buyer_id: buyer_id = kwargs.get("buyer_id", "877673433") if not id: id = kwargs.get("id", None) if not id: id = get_order_id() o = Product_Order(id=id, buyer_id=buyer_id, state=cls.get_state_machine().get_initial_state()) # pdb.set_trace() o.save() # pdb.set_trace() o.goto_next("B", "create order") for it in item_list: if type(it) == str: # not passing snapshot by json item_id = it else: item_id = it["commodity_id"] ocr = Order_Item_Rel(order=o, item_id=item_id) ocr.save() save_snapshot(id, item_list, default_snapshot_class=settings.PRODUCT_COMMODITY_SNAPSHOT_CLASS, **kwargs) return o.id
def create_order(cls, id=None, buyer_id='877673433', item_list=['92399069', '83768385'], mobile='', **kwargs): # if not order_id: # order_id = get_order_id() # o = cls(order_id=order_id, buyer_id=buyer_id, state=Order_State_Machine.get_initial_state()) # o.save() # for item_id in item_list: # ocr = Order_Item_Rel(order=o, item_id=item_id) # ocr.save() # #TODO:change the state directly? # o.goto_next('B', 'create order') #TODO:improve below items_json = kwargs.get('items_json', '') if items_json: item_list = json.loads(items_json) #pdb.set_trace() #item_list = items_dict['items'] #order_id = item_list.get('order_id', None) #TODO:default #buyer_id = items_dict.get('buyer_id', '') #TODO:php pass buyer_username? #mobile = item_list.get('mobile', '') if not buyer_id: buyer_id = kwargs.get('buyer_id', '877673433') if not mobile: mobile = kwargs.get('mobile', '') if not id: id = kwargs.get('id', None) if not id: id = get_order_id() o = Service_Order(id=id, buyer_id=buyer_id, state=cls.get_state_machine().get_initial_state(), mobile=mobile) #pdb.set_trace() o.save() for it in item_list: if type(it) == str: #not passing snapshot by json item_id = it else: item_id = it['commodity_id'] ocr = Order_Item_Rel(order=o, item_id=item_id) ocr.save() o.goto_next('B', 'create order') #save the snapshot save_snapshot(id, item_list, default_snapshot_class=settings.SERVICE_COMMODITY_SNAPSHOT_CLASS, **kwargs) return id