def make_order2(request, template_name='product_order/make_order2.html'): order_id = request.GET.get('order_id') role = request.GET.get('role', '') order_action = request.GET.get('action', '') item_action = request.GET.get('item_action', '') item_id = request.GET.get('item_id') refresh = request.GET.get('refresh') if not order_id: order_id = Order_System.create_order() #use the default params refresh = 'y' print 'order_id:', order_id if refresh == 'y': return render_to_response(template_name, Order_System.get_status(order_id), context_instance=RequestContext(request)) if not role: return render_to_response(template_name, Order_System.get_initial(), context_instance=RequestContext(request)) else: return render_to_response(template_name, Order_System.goto_next( order_id, role, order_action, item_action, item_id), context_instance=RequestContext(request))
def make_order3(request, template_name='product_order/make_order3.html'): request_params = request.GET.copy() request_params = request_params.dict() #TODO: #print 'request.GET:', request.GET #print 'request_params:', request_params order_id = request_params.pop('order_id') role = request_params.pop('role', '') order_action = request_params.pop('action', '') item_action = request_params.pop('item_action', '') item_id = request_params.pop('item_id', '') #order = None refresh = request_params.pop('refresh', '') #TODO: testing below request_params['operator'] = request.user.username if refresh == 'y': return render_to_response(template_name, Order_System.get_status(order_id), context_instance=RequestContext(request)) if not role: return render_to_response(template_name, Order_System.get_initial(), context_instance=RequestContext(request)) else: return render_to_response(template_name, Order_System.goto_next( order_id, role, order_action, item_action, item_id, **request_params), context_instance=RequestContext(request))
def test_work_flow3(self): """create product order -> pay the order -> provider ships the product -> buyer confirms """ o_id = Order_System.create_order() o = get_object_or_404(Product_Order, id=o_id) status = o.state self.assertEqual(status, u'WP') status = o.get_state_display() self.assertEqual(status, u'Waiting for Payment') o.goto_next(u'p', u'payment successful') status = o.state self.assertEqual(status, u'FP') o.goto_next(u'S',u'ship the order') status = o.state self.assertEqual(status, u'FS') o.goto_next(u'B',u'confirm reception of order') status = o.state self.assertEqual(status, u'ST') o.goto_next(u'P',u'no refund request') status = o.state self.assertEqual(status, u'WA') o.goto_next(u'P',u'finished accounting') status = o.state self.assertEqual(status, u'FA')
def test_work_flow3(self): """create product order -> pay the order -> provider ships the product -> buyer confirms """ o_id = Order_System.create_order() o = get_object_or_404(Product_Order, id=o_id) status = o.state self.assertEqual(status, u'WP') status = o.get_state_display() self.assertEqual(status, u'Waiting for Payment') o.goto_next(u'p', u'payment successful') status = o.state self.assertEqual(status, u'FP') o.goto_next(u'S', u'ship the order') status = o.state self.assertEqual(status, u'FS') o.goto_next(u'B', u'confirm reception of order') status = o.state self.assertEqual(status, u'ST') o.goto_next(u'P', u'no refund request') status = o.state self.assertEqual(status, u'WA') o.goto_next(u'P', u'finished accounting') status = o.state self.assertEqual(status, u'FA')
def make_order2(request, template_name='product_order/make_order2.html'): order_id = request.GET.get('order_id') role = request.GET.get('role','') order_action = request.GET.get('action','') item_action = request.GET.get('item_action','') item_id = request.GET.get('item_id') refresh = request.GET.get('refresh') if not order_id: order_id = Order_System.create_order() #use the default params refresh = 'y' print 'order_id:', order_id if refresh == 'y': return render_to_response(template_name, Order_System.get_status(order_id) , context_instance=RequestContext(request)) if not role: return render_to_response(template_name, Order_System.get_initial(), context_instance=RequestContext(request)) else: return render_to_response(template_name, Order_System.goto_next(order_id, role, order_action, item_action, item_id), context_instance=RequestContext(request))
def test_state_machine(self): initials = Order_System.get_initial() self.assertDictEqual( initials, { 'role_actions': { u'B': [u'create order'] }, 'current_state': '', 'order': None })
def make_order3(request, template_name='product_order/make_order3.html'): request_params = request.GET.copy() request_params = request_params.dict() #TODO: #print 'request.GET:', request.GET #print 'request_params:', request_params order_id = request_params.pop('order_id') role = request_params.pop('role','') order_action = request_params.pop('action','') item_action = request_params.pop('item_action','') item_id = request_params.pop('item_id', '') #order = None refresh = request_params.pop('refresh','') #TODO: testing below request_params['operator'] = request.user.username if refresh == 'y': return render_to_response(template_name, Order_System.get_status(order_id), context_instance=RequestContext(request)) if not role: return render_to_response(template_name, Order_System.get_initial(), context_instance=RequestContext(request)) else: return render_to_response(template_name, Order_System.goto_next(order_id, role, order_action, item_action, item_id, **request_params), context_instance=RequestContext(request))
def test_work_flow1(self): """create product order -> cancel this order """ o_id = Order_System.create_order() o = get_object_or_404(Product_Order, id=o_id) status = o.state self.assertEqual(status, u'WP') status = o.get_state_display() self.assertEqual(status, u'Waiting for Payment') o.goto_next(u'B', u'cancel order') status = o.state self.assertEqual(status, u'CT') actions = o.get_role_actions() self.assertDictEqual(actions, {}) status = o.get_state_display() self.assertEqual(status, u'Closed Transatcion')
def create_order(request, template_name='product_order/create_order.html'): if request.method == 'POST': item_id_list = request.POST.getlist('item_id') item_name_list = request.POST.getlist('item_name') #pdb.set_trace() request_params = request.POST.copy() request_params = request_params.dict() items = [] for i, item_id in enumerate(item_id_list): items.append({'commodity_id':item_id, 'name':item_name_list[i]}) #items_snapshot = {'order_type':'product', 'items':items} items_snapshot = items items_json = json.dumps(items_snapshot) request_params['items_json'] = items_json o = Order_System.create_order(item_list=item_id_list, **request_params) return HttpResponseRedirect('/demo/make_order3/?order_id='+o+'&refresh=y') cs = Commodity.objects.all() return render_to_response(template_name, {'items':cs}, context_instance=RequestContext(request))
def create_order(request, template_name='product_order/create_order.html'): if request.method == 'POST': item_id_list = request.POST.getlist('item_id') item_name_list = request.POST.getlist('item_name') #pdb.set_trace() request_params = request.POST.copy() request_params = request_params.dict() items = [] for i, item_id in enumerate(item_id_list): items.append({'commodity_id': item_id, 'name': item_name_list[i]}) #items_snapshot = {'order_type':'product', 'items':items} items_snapshot = items items_json = json.dumps(items_snapshot) request_params['items_json'] = items_json o = Order_System.create_order(item_list=item_id_list, **request_params) return HttpResponseRedirect('/demo/make_order3/?order_id=' + o + '&refresh=y') cs = Commodity.objects.all() return render_to_response(template_name, {'items': cs}, context_instance=RequestContext(request))
def test_state_machine(self): initials = Order_System.get_initial() self.assertDictEqual(initials, {'role_actions': {u'B': [u'create order']}, 'current_state': '', 'order': None})