File diff c23f799fa13a → 1ce6f36532e3
www/conservancy/apps/assignment/views.py
Show inline comments
 
new file 100644
 
from django.core.mail import send_mail
 
from django.urls import reverse_lazy
 
from django.views.generic import DetailView
 
from django.views.generic.edit import CreateView
 

	
 
from .forms import AssignmentForm
 
from .models import Assignment
 

	
 
class AssignmentCreateView(CreateView):
 
    """Show a form for the initial  copyright assignment."""
 

	
 
    form_class = AssignmentForm
 
    template_name = 'assignment/assignment_form.html'
 

	
 
    def form_valid(self, form):
 
        intro = 'The following copyright assignment has been submitted:\n\n'
 
        body = intro + '\n'.join(['{}: {}'.format(k, v) for k, v in form.cleaned_data.items() if k != 'agreement_terms'])
 
        send_mail(
 
            'Copyright assignment form: {}'.format(form.cleaned_data['full_name']),
 
            body,
 
            'ben@sturm.com.au',
 
            ['denver@sfconservancy.org', 'bsturmfels@sfconservancy.org'],
 
        )
 
        return super().form_valid(form)
 

	
 
    def get_success_url(self, *args, **kwargs):
 
        return reverse_lazy('assignment-thanks', kwargs={'pk': str(self.object.uuid)})
 

	
 

	
 
class AssignmentThanksView(DetailView):
 
    model = Assignment
 
    template_name = 'assignment/thanks.html'
 

	
 
    def get_context_data(self, **kwargs):
 
        context = super().get_context_data(**kwargs)
 
        context['form'] = AssignmentForm(instance=self.object)
 
        for _, field in context['form'].fields.items():
 
            field.widget.attrs['disabled'] = 'disabled'
 
        return context