This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
polynum/polynum/request/views.py

41 lines
1.5 KiB
Python

from django.shortcuts import redirect
from django.contrib.formtools.wizard.views import NamedUrlSessionWizardView
from django.core.files.storage import FileSystemStorage
from django.contrib.auth.decorators import login_required
from forms import DocumentUploadForm, DocumentDetailsForm
named_new_request_forms = (
('document_upload', DocumentUploadForm),
('document_details', DocumentDetailsForm),
# FIXME to be continued...
)
class RequestWizardView(NamedUrlSessionWizardView):
template_name = 'new_request.html'
file_storage = FileSystemStorage(location = '/tmp/pdf/')
def done(self, form_list, **kwargs):
pass # do_something_with_the_form_data(form_list)
return redirect('/request/done-thanks/')
def get_form_initial(self, step):
initial = super(RequestWizardView, self).get_form_initial(step=step) or {}
if step == 'document_details':
upload_step = self.get_cleaned_data_for_step('document_upload') or {}
docfile = upload_step.get('document_file', '')
if docfile is None:
initial['document_pages'] = 'Oooops... document_file is None ?!'
else:
initial['document_pages'] = '%d' % len(docfile)
return initial
new_request_wizard = login_required(RequestWizardView.as_view(named_new_request_forms,
url_name='new_request_step',
done_step_name='new_request_finished'))