Example #1
0
def create_order(request, template_name='service_order/create_order.html'):
    if request.method == 'POST':
        # item_list = request.POST.getlist('item')
        # o = Order_System.create_order(item_list=item_list)
        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],
                'sku_service_times': 5
            })  #pass in a default service_times here
        #items_snapshot = {'order_type':'service', 'items':items}
        items_snapshot = items
        items_json = json.dumps(items_snapshot)
        request_params['items_json'] = items_json
        print 'items_json:', items_json

        o = Order_System.create_order(item_list=item_id_list, **request_params)
        return HttpResponseRedirect(
            '/service_order_demo/make_order3/?order_id=' + o + '&refresh=y')
    cs = Service_Commodity.objects.all()
    return render_to_response(
        template_name,
        {'items': cs[:1]},  #for now one order has only one item
        context_instance=RequestContext(request))
Example #2
0
    def test_work_flow1(self):
        """no attendance code used, then expired

        """
        o_id2 = Order_System.create_order(
            **{
                'items_json':
                '[{"sku_service_times": 5, "price": 100.0, "commodity_id": "793669834", "name": "yoga meditation"}]',
                "buyer_id": "6769834"
            })

        so2 = get_object_or_404(Service_Order, id=o_id2)
        current_state_post_action = so2.goto_next('P', 'payment successful')
        self.assertTupleEqual(current_state_post_action,
                              (u'FP', u'payment_successful'))
        current_state_post_action = so2.goto_next('P',
                                                  'attendance code expired')
        self.assertTupleEqual(current_state_post_action,
                              (u'FP', u'attendance_code_expired'))
        current_state_post_action = so2.goto_next('P', 'finished refund')
        self.assertTupleEqual(current_state_post_action,
                              (u'FP', u'refund_sheet_finished'))
        current_state = so2.state
        self.assertEqual(current_state, u'CT')
        current_state_post_action = so2.get_role_actions()
        self.assertDictEqual(current_state_post_action, {})
Example #3
0
    def test_work_flow6(self):
        """ create order, then cancel it

        """
        o_id = Order_System.create_order()
        so = get_object_or_404(Service_Order, id=o_id)
        current_state = so.service_order.state
        self.assertEqual(current_state, u"WP")
        next_actions = so.service_order.get_role_actions()
        self.assertDictEqual(
            next_actions, {u"P": [u"no payment", u"payment successful"], u"B": [u"cancel order", u"make payment"]}
        )
        current_state_post_action = so.goto_next("B", u"cancel order")
        self.assertTupleEqual(current_state_post_action, (u"CT", u""))
Example #4
0
    def test_work_flow6(self):
        """ create order, then cancel it

        """
        o_id = Order_System.create_order()
        so = get_object_or_404(Service_Order, id=o_id)
        current_state = so.service_order.state
        self.assertEqual(current_state, u'WP')
        next_actions = so.service_order.get_role_actions()
        self.assertDictEqual(
            next_actions, {
                u'P': [u'no payment', u'payment successful'],
                u'B': [u'cancel order', u'make payment']
            })
        current_state_post_action = so.goto_next('B', u'cancel order')
        self.assertTupleEqual(current_state_post_action, (u'CT', u''))
Example #5
0
    def test_work_flow1(self):
        """no attendance code used, then expired

        """
        o_id2 = Order_System.create_order(
            **{
                "items_json": '[{"sku_service_times": 5, "price": 100.0, "commodity_id": "793669834", "name": "yoga meditation"}]',
                "buyer_id": "6769834",
            }
        )

        so2 = get_object_or_404(Service_Order, id=o_id2)
        current_state_post_action = so2.goto_next("P", "payment successful")
        self.assertTupleEqual(current_state_post_action, (u"FP", u"payment_successful"))
        current_state_post_action = so2.goto_next("P", "attendance code expired")
        self.assertTupleEqual(current_state_post_action, (u"FP", u"attendance_code_expired"))
        current_state_post_action = so2.goto_next("P", "finished refund")
        self.assertTupleEqual(current_state_post_action, (u"FP", u"refund_sheet_finished"))
        current_state = so2.state
        self.assertEqual(current_state, u"CT")
        current_state_post_action = so2.get_role_actions()
        self.assertDictEqual(current_state_post_action, {})
Example #6
0
def create_order(request, template_name='service_order/create_order.html'):
    if request.method == 'POST':
        # item_list = request.POST.getlist('item')
        # o = Order_System.create_order(item_list=item_list)
        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], 'sku_service_times':5}) #pass in a default service_times here
        #items_snapshot = {'order_type':'service', 'items':items}
        items_snapshot = items
        items_json = json.dumps(items_snapshot)  
        request_params['items_json'] = items_json
        print 'items_json:', items_json

        o = Order_System.create_order(item_list=item_id_list, **request_params)
        return HttpResponseRedirect('/service_order_demo/make_order3/?order_id='+o+'&refresh=y') 
    cs = Service_Commodity.objects.all()
    return render_to_response(template_name, {'items':cs[:1]}, #for now one order has only one item
            context_instance=RequestContext(request))