def dissertation_to_dir_submit(request, pk): dissert = get_object_or_404(dissertation.Dissertation, pk=pk) person = request.user.person student = person.student_set.first() submitted_memories_count = dissertation.count_disser_submit_by_student_in_educ_group( student, dissert.education_group_year.education_group) if dissert.author_is_logged_student( request) and submitted_memories_count == 0: new_status = dissertation.get_next_status(dissert, "go_forward") status_dict = dict(dissertation_status.DISSERTATION_STATUS) new_status_display = status_dict.get(new_status, dissertation_status.DIR_SUBMIT) form = DissertationUpdateForm(request.POST or None, dissertation=dissert, person=person, action="go_forward") if form.is_valid(): form.save() return redirect('dissertation_detail', pk=pk) return layout.render( request, 'dissertation_add_justification.html', { 'form': form, 'dissertation': dissert, "new_status_display": new_status_display }) else: return redirect('dissertations')
def dissertation_back_to_draft(request, pk): dissert = get_object_or_404(dissertation.Dissertation, pk=pk) person = request.user.person new_status = dissertation.get_next_status(dissert, "go_back") status_dict = dict(dissertation_status.DISSERTATION_STATUS) new_status_display = status_dict.get(new_status, dissertation_status.DRAFT) form = DissertationUpdateForm(request.POST or None, dissertation=dissert, person=person, action="go_back") if form.is_valid(): form.save() return redirect('dissertation_detail', pk=pk) return layout.render( request, 'dissertation_add_justification.html', { 'form': form, 'dissertation': dissert, "new_status_display": new_status_display })