The directory nesting is unnecessary here and confusing to navigate. I've moved all apps to the project subdirectory, currently called "www", but soon to be renamed "conservancy". I've also moved manage.py to the top-level directory.
40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
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,
|
|
'copyright-assignment@sfconservancy.org',
|
|
['copyright-assignment@sfconservancy.org', 'copyright-agent@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
|