def assign_related_todo(request, url): site = get_object_or_404(GroupSite, Q(id=request.POST['site']) & (Q(random_name=url) | Q(name=url))) form = RelatedToDoForm(request.POST) if request.method == 'POST' and form.is_valid() and ygauth.auth_user(request, url, site): todo_id = form.cleaned_data['todo'] file_id = form.cleaned_data['item'] todo = get_object_or_404(ToDo, id=todo_id) file = get_object_or_404(File, id=file_id) file.todos.add(todo) return json.to_json_response({'s': True})
def remove_related_todo(request, url): site = get_object_or_404(GroupSite, Q(id=request.POST['site']) & (Q(random_name=url) | Q(name=url))) form = RelatedToDoForm(request.POST) if request.method == 'POST' and form.is_valid() and ygauth.auth_user(request, url, site): todo_id = form.cleaned_data['todo'] topic_id = form.cleaned_data['item'] todo = get_object_or_404(ToDo, id=todo_id) topic = get_object_or_404(Topic, id=topic_id) topic.todos.remove(todo) todos = topic.todos.all().order_by('order') todos_table = json.render_to_json('discuss/relatedTodosTable.html', {'todos': todos}) return json.to_json_response({'todos_table': todos_table})