コード例 #1
0
ファイル: orders.py プロジェクト: Neamar/corporate
def orders(request, game, player):
	existing_orders = [order.to_child() for order in player.order_set.filter(turn=player.game.current_turn)]
	for existing_order in existing_orders:
		existing_order.name = existing_order.__class__.__name__

	existing_orders_cost = sum(o.get_cost() for o in existing_orders)

	available_orders = get_orders_availability(player)
	for available_order in available_orders:
		path = '%s/data/order_description/%s.md' % (settings.BASE_DIR, available_order['name'])
		contents = read_markdown_nullable(path)
		available_order['info'] = mark_safe(contents)

	return {
		"available_orders": available_orders,
		"existing_orders": existing_orders,
		"existing_orders_cost": existing_orders_cost,
		"remaining_money": player.money - existing_orders_cost,
		"pods": ['d_inc', 'current_player', 'players', ],
		"turn": game.current_turn,
		"request": request,
	}
コード例 #2
0
ファイル: orders.py プロジェクト: Neamar/corporate
def add_order(request, game_id, order_type):
	player = get_player(request, game_id)

	# Retrieve OrderClass
	try:
		SubOrder = get_order_by_name(order_type)
	except ValueError:
		raise Http404("This is not an Order.")

	instance = SubOrder(player=player)

	if request.method == 'POST':
		form = instance.get_form(request.POST)
		if form.is_valid():
			form.save()
			return redirect('website.views.orders.orders', game_id=game_id)
	else:
		form = instance.get_form()

	path = '%s/data/order_description/%s.md' % (settings.BASE_DIR, SubOrder.__name__)
	order = {
		"game": player.game,
		"title": instance.title,
		"info": mark_safe(read_markdown_nullable(path)),
		"name": SubOrder.__name__,
		"form": form,
	}

	return django_render(request, 'game/add_order.html', {
		"game": player.game,
		"player": player,
		"order": order,
		"pods": ['d_inc', 'current_player', 'players', ],
		"request": request,
		"turn": player.game.current_turn,
	})