def curation_edit(request, object_id, index, template_name='depot/curation_edit.html'): """Curation is an EmbeddedDocument, so can't be saved, needs to be edited, then Resource saved.""" resource = get_one_or_404(id=ObjectId(object_id), user=request.user, perm='can_edit') object = resource.curations[int(index)] if request.method == 'POST': result = request.POST.get('result', '') if result == 'Cancel': return HttpResponseRedirect(reverse('curation', args=[resource.id, index])) form = CurationForm(request.POST, instance=object) if form.is_valid(): user = get_account(request.user.id) curation = form.save(do_save=False) curation.item_metadata.update(author=user) curation.save() resource.save(reindex=True) return HttpResponseRedirect(reverse('curation', args=[resource.id, index])) else: form = CurationForm(instance=object) template_context = {'form': form} return render_to_response( template_name, template_context, RequestContext(request) )
def curation_add(request, object_id, template_name="depot/curation_edit.html"): """docstring for curation_add""" resource = get_one_or_404(id=ObjectId(object_id)) user = get_account(request.user.id) curation = get_curation_for_user_resource(user, resource) if curation: index, cur = curation messages.success(request, "You already have a curation for this resource.") return HttpResponseRedirect(reverse("curation", args=[resource.id, index])) if request.method == "POST": result = request.POST.get("result", "") if result == "Cancel": return HttpResponseRedirect(reverse("resource", args=[resource.id])) form = CurationForm(request.POST) if form.is_valid(): curation = Curation(**form.cleaned_data) curation.owner = user curation.item_metadata.update(author=user) curation.resource = resource curation.save() resource.curations.append(curation) resource.save(reindex=True) index = len(resource.curations) - 1 return HttpResponseRedirect(reverse("curation", args=[resource.id, index])) else: initial = {"outcome": STATUS_OK} form = CurationForm(initial=initial) template_context = {"form": form} return render_to_response(template_name, template_context, RequestContext(request))
def curation_edit(request, object_id, index, template_name='depot/curation_edit.html'): """Curation is an EmbeddedDocument, so can't be saved, needs to be edited, then Resource saved.""" resource = get_one_or_404(id=ObjectId(object_id), user=request.user, perm='can_edit') object = resource.curations[int(index)] if request.method == 'POST': result = request.POST.get('result', '') if result == 'Cancel': return HttpResponseRedirect( reverse('curation', args=[resource.id, index])) form = CurationForm(request.POST, instance=object) if form.is_valid(): user = get_account(request.user.id) curation = form.save(do_save=False) curation.item_metadata.update(author=user) curation.save() resource.save(reindex=True) return HttpResponseRedirect( reverse('curation', args=[resource.id, index])) else: form = CurationForm(instance=object) template_context = {'form': form} return render_to_response(template_name, template_context, RequestContext(request))
def curation_add(request, object_id, template_name='depot/curation_edit.html'): """docstring for curation_add""" resource = get_one_or_404(id=ObjectId(object_id)) user = get_account(request.user.id) # check if user already has a curation for this resource curation = get_curation_for_user_resource(user, resource) if curation: index, cur = curation messages.success(request, 'You already have a curation for this resource.') return HttpResponseRedirect( reverse('curation', args=[resource.id, index])) if request.method == 'POST': result = request.POST.get('result', '') if result == 'Cancel': return HttpResponseRedirect(reverse('resource', args=[resource.id])) form = CurationForm(request.POST) if form.is_valid(): curation = Curation(**form.cleaned_data) curation.owner = user curation.item_metadata.update(author=user) curation.resource = resource curation.save() resource.curations.append(curation) resource.save(reindex=True) index = len(resource.curations) - 1 return HttpResponseRedirect( reverse('curation', args=[resource.id, index])) else: initial = {'outcome': STATUS_OK} form = CurationForm(initial=initial) template_context = {'form': form} return render_to_response(template_name, template_context, RequestContext(request))
def curation_add(request, object_id, template_name='depot/curation_edit.html'): """docstring for curation_add""" resource = get_one_or_404(id=ObjectId(object_id)) user = get_account(request.user.id) # check if user already has a curation for this resource for index, cur in enumerate(resource.curations): if cur.owner.id == user.id: messages.success(request, 'You already have a curation for this resource.') return HttpResponseRedirect(reverse('curation', args=[resource.id, index])) if request.method == 'POST': result = request.POST.get('result', '') if result == 'Cancel': return HttpResponseRedirect(reverse('resource', args=[resource.id])) form = CurationForm(request.POST) if form.is_valid(): curation = Curation(**form.cleaned_data) curation.owner = user curation.item_metadata.update(author=user) curation.resource = resource curation.save() resource.curations.append(curation) resource.save(reindex=True) index = len(resource.curations) - 1 return HttpResponseRedirect(reverse('curation', args=[resource.id, index])) else: initial = { 'outcome': STATUS_OK} form = CurationForm(initial=initial) template_context = {'form': form} return render_to_response( template_name, template_context, RequestContext(request) )