def edit_hint(request, hint_id): hint = get_object_or_404(Hint, pk=hint_id) request = is_quest_organizer(request, hint.mission.quest) if request.method == "POST": form = HintForm(request.POST, instance=hint) if form.is_valid(): form.save() return redirect('coordination:mission_detail', mission_id=hint.mission.id) else: form = HintForm(instance=hint) context = {'form': form} return render(request, 'coordination/hints/form.html', context)
def detail_mission(request, mission_id): mission = get_object_or_404(Mission, pk=mission_id) quest = mission.quest can_user_view = quest.published and \ (quest.ended or (request.user.is_authenticated() and mission.is_completed(request.user))) if not can_user_view: request = is_quest_organizer_or_agent(request, quest) hints = None hint_form = None if not mission.is_start and not mission.is_finish: hints = mission.hints() if request.method == 'POST': hint_form = HintForm(request.POST) if hint_form.is_valid(): hint = hint_form.save(commit=False) hint.mission = mission hint.save() return redirect('coordination:mission_detail', mission_id=mission.id) else: hint_form = HintForm(next_number=mission.next_hint_number()) context = {'quest': quest, 'mission': mission, 'hints': hints, 'hint_form': hint_form} return render(request, 'coordination/missions/detail.html', context)