Example #1
0
def toggle_task_completion(request, slug, page_slug):
    page = get_object_or_404(Page, project__slug=slug, slug=page_slug, listed=True, deleted=False)
    profile = request.user.get_profile()
    if request.method == "POST":
        try:
            task_completion = PerUserTaskCompletion.objects.get(user=profile, page=page, unchecked_on__isnull=True)
            task_completion.unchecked_on = datetime.datetime.today()
            task_completion.save()
        except PerUserTaskCompletion.DoesNotExist:
            task_completion = PerUserTaskCompletion(user=profile, page=page)
            task_completion.save()
        total_count = Page.objects.filter(project__slug=slug, listed=True, deleted=False).count()
        completed_count = PerUserTaskCompletion.objects.filter(
            page__project__slug=slug, page__deleted=False, unchecked_on__isnull=True, user=profile
        ).count()
        progressbar_value = 0
        if total_count:
            progressbar_value = completed_count * 100 / total_count
        json = simplejson.dumps(
            {
                "total_count": total_count,
                "completed_count": completed_count,
                "progressbar_value": progressbar_value,
                "upon_completion_redirect": page.project.get_absolute_url(),
            }
        )
        return http.HttpResponse(json, mimetype="application/json")
Example #2
0
def toggle_task_completion(request, slug, page_slug):
    page = get_object_or_404(Page, project__slug=slug, slug=page_slug,
        listed=True, deleted=False)
    profile = request.user.get_profile()
    if request.method == 'POST':
        try:
            task_completion = PerUserTaskCompletion.objects.get(
                user=profile, page=page, unchecked_on__isnull=True)
            task_completion.unchecked_on = datetime.datetime.today()
            task_completion.save()
        except PerUserTaskCompletion.DoesNotExist:
            task_completion = PerUserTaskCompletion(user=profile, page=page)
            task_completion.save()
        total_count = Page.objects.filter(project__slug=slug, listed=True,
            deleted=False).count()
        completed_count = PerUserTaskCompletion.objects.filter(
            page__project__slug=slug, page__deleted=False,
            unchecked_on__isnull=True, user=profile).count()
        progressbar_value = 0
        if total_count:
            progressbar_value = (completed_count * 100 / total_count)
        json = simplejson.dumps({
            'total_count': total_count,
            'completed_count': completed_count,
            'progressbar_value': progressbar_value,
            'upon_completion_redirect': page.project.get_absolute_url()
        })
        return http.HttpResponse(json, mimetype="application/json")
Example #3
0
def toggle_task_completion(request, slug, page_slug):
    page = get_object_or_404(Page, project__slug=slug, slug=page_slug,
        listed=True, deleted=False)
    profile = request.user.get_profile()
    if request.method == 'POST':
        try:
            task_completion = PerUserTaskCompletion.objects.get(
                user=profile, page=page, unchecked_on__isnull=True)
            task_completion.unchecked_on = datetime.datetime.today()
            task_completion.save()
        except PerUserTaskCompletion.DoesNotExist:
            task_completion = PerUserTaskCompletion(user=profile, page=page)
            task_completion.save()
        context = task_toggle_completion(request, page, ignore_post_data=True)
        data = context['ajax_data']
        data['toggle_task_completion_form_html'] = render_to_string(
            'content/_toggle_completion.html',
            context, context_instance=RequestContext(request)).strip()
        json = simplejson.dumps(data)
        return http.HttpResponse(json, mimetype="application/json")
Example #4
0
def toggle_task_completion(request, slug, page_slug):
    page = get_object_or_404(Page, project__slug=slug, slug=page_slug,
        listed=True, deleted=False)
    profile = request.user.get_profile()
    if request.method == 'POST':
        try:
            task_completion = PerUserTaskCompletion.objects.get(
                user=profile, page=page, unchecked_on__isnull=True)
            task_completion.unchecked_on = datetime.datetime.today()
            task_completion.save()
        except PerUserTaskCompletion.DoesNotExist:
            task_completion = PerUserTaskCompletion(user=profile, page=page)
            task_completion.save()
        context = task_toggle_completion(request, page, ignore_post_data=True)
        data = context['ajax_data']
        data['toggle_task_completion_form_html'] = render_to_string(
            'content/_toggle_completion.html',
            context, context_instance=RequestContext(request)).strip()
        json = simplejson.dumps(data)
        return http.HttpResponse(json, mimetype="application/json")