def prototype_edit(request, prototype_id, response_format='html'): """ Opens a form to edit a Prototype. Arguments: request -- a Django Request object prototype_id -- the id of the requested Prototype object response_format -- defines which format the response should be """ prototype = get_object_or_404(Prototype, pk=prototype_id) if not request.user.get_profile().has_permission(prototype, mode='w'): return HttpResponseRedirect(reverse('achievements_prototype_detail', args=[prototype.id])) if request.POST: if not 'cancel' in request.POST: form = PrototypeForm(request.user.get_profile(), request.POST, files=request.FILES, instance=prototype) if form.is_valid(): prototype = form.save() return HttpResponseRedirect(reverse('achievements_prototype_detail', args=[prototype.id])) else: return HttpResponseRedirect(reverse('achievements_prototypes')) else: form = PrototypeForm(request.user, instance=prototype) return render_to_response('achievements/prototype_form', {'form': form}, context_instance=RequestContext(request), response_format=response_format)
def prototype_add(request, response_format='html'): """ This delivers a view to create a new Prototype. Arguments: request -- a Django Request object response_format -- defines which format the response should be """ if request.POST: if not 'cancel' in request.POST: form = PrototypeForm(request.user.get_profile(), request.POST, files=request.FILES) if form.is_valid(): prototype = form.save() # TODO: saver return HttpResponseRedirect(reverse('achievements_prototype_detail', args=[prototype.id])) else: return HttpResponseRedirect(reverse('achievements_prototypes')) else: form = PrototypeForm(request.user) return render_to_response('achievements/prototype_form', {'form': form}, context_instance=RequestContext(request), response_format=response_format)