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(),)
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')