def edit(request, project): submits = { 'Save and return to dashboard': ('dashboard', None), 'Save and continue to image upload': ('upload', [project.id],), } # If the user isn't the projects owner, show a 403 (forbidden) if not project.is_owned_by(request.user): raise PermissionDenied if request.method == 'POST': form = ProjectForm(request.POST, instance=project) if form.is_valid(): form.save() # Figure out where to go next submit_value = request.POST.get('action', '') redirect_view, redirect_args = submits.get(submit_value, ('dashboard', None)) return redirect(reverse(redirect_view, args=redirect_args)) else: form = ProjectForm(instance=project) data = { 'project': project, 'form': form, 'submits': submits, } return ('Edit', data)
def edit(request, project): submits = { 'Save and return to dashboard': ('dashboard', None), 'Save and continue to image upload': ( 'upload', [project.id], ), } # If the user isn't the projects owner, show a 403 (forbidden) if not project.is_owned_by(request.user): raise PermissionDenied if request.method == 'POST': form = ProjectForm(request.POST, instance=project) if form.is_valid(): form.save() # Figure out where to go next submit_value = request.POST.get('action', '') redirect_view, redirect_args = submits.get(submit_value, ('dashboard', None)) return redirect(reverse(redirect_view, args=redirect_args)) else: form = ProjectForm(instance=project) data = { 'project': project, 'form': form, 'submits': submits, } return ('Edit', data)
def create(request): if request.method == 'POST': form = ProjectForm(request.POST) if form.is_valid(): project = form.save(commit=False) project.creator = request.user.get_profile() project.save() return redirect('upload', project_id=project.id) else: form = ProjectForm() data = { 'form': form, 'title': 'Create a project', } return render(request, 'projects/create.html', data)