Skip to content
Snippets Groups Projects
Commit c7f52b16 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Enable progressing the application using the form

parent 553fa583
No related branches found
No related tags found
No related merge requests found
<form method="post">
<form method="post" id="comment-form">
{% csrf_token %}
{{ comment_form }}
<input type="submit" value="Comment">
<input id="comment-form-submit" name="form-submitted" type="submit" form="comment-form" value="Comment">
</form>
......@@ -4,9 +4,19 @@ from .models import ApplicationSubmission
class ProgressSubmissionForm(forms.ModelForm):
action = forms.ChoiceField()
class Meta:
model = ApplicationSubmission
fields = ('status',)
fields = []
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
choices = [(action, action) for action in self.instance.phase.action_names]
self.fields['action'].choices = choices
self.fields['action'].label = self.instance.phase.name
def save(self, *args, **kwargs):
new_phase = self.instance.workflow.process(self.instance.phase, self.cleaned_data['action'])
self.instance.status = str(new_phase)
return super().save(*args, **kwargs)
<form method="post">
<form method="post" id="progress-form">
{% csrf_token %}
{{ progress_form }}
<input type="submit" value="Progress">
<input id="progress-form-submit" name="form-submitted" type="submit" form="progress-form" value="Progress">
</form>
......@@ -53,12 +53,20 @@ class ProgressContextMixin:
class ProgressSubmissionView(DelegatedViewMixin, UpdateView):
form_class = ProgressSubmissionForm
context_name = 'progress_form'
model = ApplicationSubmission
form_class = ProgressSubmissionForm
context_name = 'progress_form'
def form_valid(self, form):
return super().form_valid(form)
class SubmissionDetailView(CommentContextMixin, ProgressContextMixin, DetailView):
model = ApplicationSubmission
form_views = {
'progress': ProgressSubmissionView,
'comment': CommentFormView,
}
def get_context_data(self, **kwargs):
return super().get_context_data(
......@@ -75,8 +83,8 @@ class SubmissionDetailView(CommentContextMixin, ProgressContextMixin, DetailView
kwargs['template_names'] = self.get_template_names()
kwargs['context'] = self.get_context_data()
import pudb; pudb.set_trace()
view = CommentFormView.as_view()
form_submitted = request.POST['form-submitted'].lower()
view = self.form_views[form_submitted].as_view()
return view(request, *args, **kwargs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment