def action_detail(request, action_slug): """Detail page for an action""" action = get_object_or_404(Action, slug=action_slug) nav_selected = "group_actions" if action.is_group_project else "solo_actions" default_vars = _default_action_vars(action, request.user) default_vars.update(_build_action_form_vars(action, request.user)) try: translated_action = TranslatedAction.objects.get(action=action, language=request.LANGUAGE_CODE) except TranslatedAction.DoesNotExist: translated_action = action group_link_forms = [] action_commit_form = None if action.is_group_project and not request.user.is_anonymous(): for group in Group.objects.filter(users=request.user).order_by("name"): form = GroupActionCommitForm(user=request.user, action=action, group=group) try: progress = GroupActionProgress.objects.get( action=action, group=group) days_till_commitment = 0 if progress.date_committed: days_till_commitment = (progress.date_committed - datetime.date.today()) days_till_commitment = (days_till_commitment.days if days_till_commitment.days > 0 else 0) form.progress = progress form.days_till_commitment = days_till_commitment except GroupActionProgress.DoesNotExist: form.progress = None group_link_forms.append(form) else: action_commit_form = ActionCommitForm(user=request.user, action=action) group_link_form = ActionGroupLinkForm(request.user, instance=action) if request.method == "POST": group_link_form = ActionGroupLinkForm(request.user, instance=action, data=request.POST) if group_link_form.is_valid(): action = group_link_form.save() messages.success(request, _("Thanks for taking on this project with your group.")) return redirect("action_detail", action_slug=action.slug) default_vars.update(locals()) return render_to_response("actions/action_detail.html", default_vars, RequestContext(request))
def action_detail(request, action_slug): """Detail page for an action""" nav_selected = "actions" action = get_object_or_404(Action, slug=action_slug) default_vars = _default_action_vars(action, request.user) default_vars.update(_build_action_form_vars(action, request.user)) action_commit_form = ActionCommitForm(user=request.user, action=action) group_link_form = None if request.method == "POST": group_link_form = ActionGroupLinkForm(request.user, instance=action, data=request.POST) if group_link_form.is_valid(): action = group_link_form.save() messages.success(request, _("Thanks for taking on this project with your group.")) return redirect("action_detail", action_slug=action.slug) group_link_form = group_link_form or ActionGroupLinkForm(request.user, instance=action) default_vars.update(locals()) return render_to_response("actions/action_detail.html", default_vars, RequestContext(request))