Example #1
0
def admin_metrics(request, slug):
    """Overview metrics for course organizers.

    We only are interested in the pages of the course and the participants.
    """
    project = get_object_or_404(Project, slug=slug)
    metric_permissions = project.get_metrics_permissions(request.user)
    participants = project.participants(include_deleted=True).order_by("user__username")
    participant_profiles = (participant.user for participant in participants)
    tracker_models.update_metrics_cache(project)
    keys = ("username", "last_active", "course_activity_minutes", "comment_count", "task_edits_count")
    metrics = tracker_models.metrics_summary(project, participant_profiles)
    data = (dict(itertools.izip(keys, d)) for d in metrics)

    return render_to_response(
        "projects/project_admin_metrics.html",
        {
            "project": project,
            "can_view_metric_overview": metric_permissions[0],
            "can_view_metric_detail": metric_permissions[1],
            "data": data,
            "metrics_tab": True,
            "is_challenge": (project.category == project.CHALLENGE),
        },
        context_instance=RequestContext(request),
    )
Example #2
0
def admin_metrics(request, slug):
    """Overview metrics for course organizers.

    We only are interested in the pages of the course and the participants.
    """
    project = get_object_or_404(Project, slug=slug)
    metric_permissions = project.get_metrics_permissions(request.user)
    participants = project.participants(
        include_deleted=True).order_by('user__username')
    participant_profiles = (participant.user for participant in participants)
    tracker_models.update_metrics_cache(project)
    keys = ('username', 'last_active', 'course_activity_minutes',
            'comment_count', 'task_edits_count')
    metrics = tracker_models.metrics_summary(project, participant_profiles)
    data = (dict(itertools.izip(keys, d)) for d in metrics)

    return render_to_response(
        'projects/project_admin_metrics.html', {
            'project': project,
            'can_view_metric_overview': metric_permissions[0],
            'can_view_metric_detail': metric_permissions[1],
            'data': data,
            'metrics_tab': True,
            'is_challenge': (project.category == project.CHALLENGE),
        },
        context_instance=RequestContext(request))
Example #3
0
def admin_metrics_data_ajax(request, slug):
    """ returns data for jquery data tables plugin """
    project = get_object_or_404(Project, slug=slug)
    participants = project.participants(include_deleted=True).order_by("user__username")
    participant_profiles = (participant.user for participant in participants)
    metrics = tracker_models.metrics_summary(project, participant_profiles)
    json = simplejson.dumps({"aaData": list(metrics)}, default=json_date_encoder)
    return http.HttpResponse(json, mimetype="application/json")
Example #4
0
def admin_metrics_data_ajax(request, slug):
    """ returns data for jquery data tables plugin """
    project = get_object_or_404(Project, slug=slug)
    participants = project.participants(
        include_deleted=True).order_by('user__username')
    participant_profiles = (participant.user for participant in participants)
    metrics = tracker_models.metrics_summary(project, participant_profiles)
    json = simplejson.dumps(
        {'aaData': list(metrics)},
        default=json_date_encoder)
    return http.HttpResponse(json, mimetype="application/json")
Example #5
0
def admin_metrics(request, slug):
    """Overview metrics for course organizers.

    We only are interested in the pages of the course and the participants.
    """
    project = get_object_or_404(Project, slug=slug)
    metric_permissions = project.get_metrics_permissions(request.user)
    participants = (participant.user for participant in project.participants())
    tracker_models.update_metrics_cache(project)
    keys = ('username', 'last_active', 'course_activity_minutes',
        'comment_count', 'task_edits_count')
    metrics = tracker_models.metrics_summary(project, participants)
    data = (dict(itertools.izip(keys, d)) for d in metrics)

    return render_to_response('projects/project_admin_metrics.html', {
            'project': project,
            'can_view_metric_overview': metric_permissions[0],
            'can_view_metric_detail': metric_permissions[1],
            'data': data,
            'metrics_tab': True,
            'is_challenge': (project.category == project.CHALLENGE),
    }, context_instance=RequestContext(request))