def make_order(request, template_name='product_order/make_order.html'): order_id = request.GET.get('order_id') role = request.GET.get('role') action = request.GET.get('action') if not role: return render_to_response( template_name, { 'order': None, 'role_actions': Order_State_Machine.get_initial_role_actions(), 'current_state': Order_State_Machine.get_initial_state() }, context_instance=RequestContext(request)) else: if role == 'B' and action == 'create order': order_id = Order.create_order() order = get_object_or_404(Order, id=order_id) else: order = get_object_or_404(Order, id=order_id) order.goto_next(role, action) return render_to_response( template_name, { 'order': order.product_order, 'role_actions': order.product_order.get_role_actions(), 'current_state': order.state }, context_instance=RequestContext(request))
def order_state_machine(request, template_name='product_order/order_state_machine.html'): role = request.GET.get('role') action = request.GET.get('action') c_state = request.GET.get('current_state') if not (role or action or c_state): #initial state next_state = Order_State_Machine.get_initial_state() ras = Order_State_Machine.get_initial_role_actions() print 'ras:', ras else: next_state, post_action = Order_State_Machine.get_next(role, action, c_state) ras = Order_State_Machine.get_role_actions(next_state) return render_to_response(template_name, {'roles':ras.keys(), 'role_actions':ras, 'current_state':next_state}, context_instance=RequestContext(request))
def make_order(request, template_name='product_order/make_order.html'): order_id = request.GET.get('order_id') role = request.GET.get('role') action = request.GET.get('action') if not role: return render_to_response(template_name, {'order': None, 'role_actions':Order_State_Machine.get_initial_role_actions(), 'current_state':Order_State_Machine.get_initial_state()}, context_instance=RequestContext(request)) else: if role == 'B' and action == 'create order': order_id = Order.create_order() order = get_object_or_404(Order, id=order_id) else: order = get_object_or_404(Order, id=order_id) order.goto_next(role, action) return render_to_response(template_name, {'order': order.product_order, 'role_actions':order.product_order.get_role_actions(), 'current_state':order.state}, context_instance=RequestContext(request))
def order_state_machine(request, template_name='product_order/order_state_machine.html' ): role = request.GET.get('role') action = request.GET.get('action') c_state = request.GET.get('current_state') if not (role or action or c_state): #initial state next_state = Order_State_Machine.get_initial_state() ras = Order_State_Machine.get_initial_role_actions() print 'ras:', ras else: next_state, post_action = Order_State_Machine.get_next( role, action, c_state) ras = Order_State_Machine.get_role_actions(next_state) return render_to_response(template_name, { 'roles': ras.keys(), 'role_actions': ras, 'current_state': next_state }, context_instance=RequestContext(request))
def get_initial(cls): return { 'order': None, 'role_actions': Order_State_Machine.get_initial_role_actions(), 'current_state': Order_State_Machine.get_initial_state() }
def get_initial(cls): return {'order': None, 'role_actions':Order_State_Machine.get_initial_role_actions(), 'current_state':Order_State_Machine.get_initial_state()}