コード例 #1
0
ファイル: views.py プロジェクト: ikicic/skoljka
def featured_lecture(request):
    if not can_edit_featured_lectures(request.user):
        return (403, "Not allowed to modify featured lectures.")

    folder_id = getattr(settings, "FEATURED_LECTURES_FOLDER_ID", None)
    if not folder_id:
        return (400, "Featured lectures not enabled.")

    featured = request.POST["featured"]
    if featured not in ["yes", "no"]:
        return (400, "Argument `featured` should be 'yes' or 'no'.")

    task = get_object_or_404(Task, id=request.POST["task_id"])
    if featured == "yes" and (task.hidden or not task.is_lecture):
        return (403, "Task hidden or not a lecture.")  # Allow to remove.

    add = True if featured == "yes" else False
    add_or_remove_folder_task(folder_id, task.id, add)
    return (task.get_absolute_url(),)
コード例 #2
0
ファイル: views.py プロジェクト: ikicic/skoljka
def select_task(request, task_id):
    folder = request.user.profile.selected_folder
    if not request.is_ajax() or folder is None:
        return HttpResponseBadRequest()
    if not folder.editable or not folder.user_has_perm(request.user, EDIT):
        return "Not allowed to edit this folder."

    task = get_object_or_404(Task, id=task_id)
    if not task.user_has_perm(request.user, VIEW):
        return "Not allowed to view this task."

    add = request.POST['checked'] == 'true'
    error = add_or_remove_folder_task(folder.id, task.id, add)
    if error:
        return HttpResponseBadRequest(error)

    return HttpResponse('1' if add else '0')