def view_action(request, action_type, slug): """individual action page""" action = smartgrid.get_action(slug=slug) user = request.user team = user.get_profile().team view_objects = {} action = smartgrid.annotate_action_details(user, action) if not action.is_unlock: response = HttpResponseRedirect(reverse("learn_index", args=())) response.set_cookie("task_unlock_condition", action.unlock_condition_text) return response completed_members = smartgrid.get_action_members(action) completed_count = completed_members.count() team_members = completed_members.select_related('user__profile').filter( user__profile__team=team) if action_type == "commitment": form = view_commitments.view(request, action) elif action_type == "activity": form = view_activities.view(request, action) # if there is embedded widget, get the supplied objects if action.embedded_widget: view_module_name = 'apps.widgets.' + action.embedded_widget + '.views' view_objects[action.embedded_widget] = importlib.import_module( view_module_name).supply(request, None) view_objects['embedded_widget_template'] = "widgets/" + \ action.embedded_widget + "/templates/index.html" elif action.type in ("event", "excursion"): # action.event: form = view_events.view(request, action) # calculate available seat action.available_seat = action.event.event_max_seat - completed_count elif action_type == "filler": response = HttpResponseRedirect(reverse("learn_index", args=())) return response user_reminders = view_reminders.load_reminders(action, user) try: feedback = ActionFeedback.objects.get(user=user.pk, action=action.pk) except ObjectDoesNotExist: feedback = None if challenge_mgr.is_game_enabled("Quest Game Mechanics"): view_objects['quests'] = get_quests(user) return render_to_response("task.html", { "action": action, "form": form, "completed_count": completed_count, "team_members": team_members, "display_form": True if "display_form" in request.GET else False, "reminders": user_reminders, "view_objects": view_objects, "feedback_p": feedback, }, context_instance=RequestContext(request))
def view_action(request, action_type, slug): """individual action page""" action = smartgrid.get_action(slug=slug) user = request.user team = user.profile.team view_objects = {} action = smartgrid.annotate_action_details(user, action) if not action.is_unlock: response = HttpResponseRedirect(reverse("learn_index", args=())) response.set_cookie("task_unlock_condition", action.unlock_condition_text) return response completed_members = smartgrid.get_action_members(action) completed_count = completed_members.count() team_members = completed_members.select_related('user__profile').filter( user__profile__team=team) if action_type == "commitment": form = view_commitments.view(request, action) elif action_type == "activity": form = view_activities.view(request, action) # if there is embedded widget, get the supplied objects if action.embedded_widget: view_module_name = 'apps.widgets.' + action.embedded_widget + '.views' view_objects[action.embedded_widget] = importlib.import_module( view_module_name).supply(request, None) view_objects['embedded_widget_template'] = "widgets/" + \ action.embedded_widget + "/templates/index.html" elif action.type in ("event", "excursion"): # action.event: form = view_events.view(request, action) # calculate available seat action.available_seat = action.event.event_max_seat - completed_count elif action_type == "filler": response = HttpResponseRedirect(reverse("learn_index", args=())) return response user_reminders = view_reminders.load_reminders(action, user) try: feedback = ActionFeedback.objects.get(user=user.pk, action=action.pk) except ObjectDoesNotExist: feedback = None return render_to_response( "task.html", { "action": action, "form": form, "completed_count": completed_count, "team_members": team_members, "display_form": True if "display_form" in request.GET else False, "reminders": user_reminders, "view_objects": view_objects, "feedback_p": feedback, }, context_instance=RequestContext(request))
def view_action(request, action_type, slug): """individual action page""" _ = action_type action = smartgrid.get_action(slug=slug) user = request.user view_objects = {} action = smartgrid.annotate_action_details(user, action) return render_to_response("action.html", { "action": action, "display_form": True if "display_form" in request.GET else False, "view_objects": view_objects, }, context_instance=RequestContext(request))
def view_action(request, action_type, slug): """individual action page""" _ = action_type action = smartgrid.get_action(slug=slug) user = request.user view_objects = {} action = smartgrid.annotate_action_details(user, action) return render_to_response( "action.html", { "action": action, "display_form": True if "display_form" in request.GET else False, "view_objects": view_objects, }, context_instance=RequestContext(request))