diff --git a/conservancy/usethesource/views.py b/conservancy/usethesource/views.py index e97401785e299c65a58aa292a8e7267f7beda0d8..d2acba9d7f8bb422a43f2827f43f62fdb633b786 100644 --- a/conservancy/usethesource/views.py +++ b/conservancy/usethesource/views.py @@ -1,8 +1,8 @@ -from django import forms from django.contrib.admin.views.decorators import staff_member_required from django.shortcuts import get_object_or_404, redirect, render from .models import Candidate, Comment +from .forms import CommentForm, DownloadForm def landing_page(request): @@ -17,20 +17,19 @@ def candidate_page(request, slug): def download_page(request, slug, download_type): candidate = get_object_or_404(Candidate, slug=slug) - url = candidate.source_url if download_type == 'source' else candidate.binary_url + form = DownloadForm() + if request.method == 'POST': + form = DownloadForm(request.POST) + url = candidate.source_url if download_type == 'source' else candidate.binary_url + if form.is_valid(): + return redirect(url) return render( request, 'usethesource/download.html', - {'candidate': candidate, 'download_url': url}, + {'form': form, 'candidate': candidate, 'download_type': download_type}, ) -class CommentForm(forms.ModelForm): - class Meta: - model = Comment - fields = ['message'] - - @staff_member_required def create_comment(request, slug): candidate = get_object_or_404(Candidate, slug=slug)