def proposition_dissertation_detail(request, pk): subject = get_object_or_404( proposition_dissertation.PropositionDissertation, pk=pk) offer_propositions = proposition_offer.search_by_proposition_dissertation( subject) person = mdl.person.find_by_user(request.user) student = mdl.student.find_by_person(person) using = dissertation.count_by_proposition(subject) percent = using * 100 / subject.max_number_student if subject.max_number_student else 0 count_proposition_role = proposition_role.count_by_proposition(subject) files = proposition_document_file.find_by_proposition(subject) filename = "" for file in files: filename = file.document_file.file_name if count_proposition_role < 1: proposition_role.add('PROMOTEUR', subject.author, subject) proposition_roles = proposition_role.search_by_proposition(subject) return layout.render( request, 'proposition_dissertation_detail.html', { 'percent': round(percent, 2), 'proposition_roles': proposition_roles, 'proposition_dissertation': subject, 'offer_propositions': offer_propositions, 'student': student, 'using': using, 'filename': filename })
def dissertation_detail(request, pk): memory = get_object_or_404(dissertation.Dissertation, pk=pk) person = mdl.person.find_by_user(request.user) student = mdl.student.find_by_person(person) if memory.author_is_logged_student(request): off = memory.offer_year_start.offer offer_pro = offer_proposition.search_by_offer(off) offer_propositions = proposition_offer.search_by_proposition_dissertation( memory.proposition_dissertation) count = dissertation.count_submit_by_user(student, off) files = dissertation_document_file.find_by_dissertation(memory) filename = "" for file in files: filename = file.document_file.file_name count_dissertation_role = dissertation_role.count_by_dissertation( memory) count_reader = dissertation_role.count_reader_by_dissertation(memory) count_proposition_role = proposition_role.count_by_dissertation(memory) proposition_roles = proposition_role.search_by_dissertation(memory) jury_visibility = offer_pro.start_jury_visibility <= timezone.now( ).date() <= offer_pro.end_jury_visibility check_edit = offer_pro.start_edit_title <= timezone.now().date( ) <= offer_pro.end_edit_title if count_dissertation_role == 0: if count_proposition_role == 0: dissertation_role.add('PROMOTEUR', memory.proposition_dissertation.author, memory) else: for role in proposition_roles: dissertation_role.add(role.status, role.adviser, memory) dissertation_roles = dissertation_role.search_by_dissertation(memory) return layout.render( request, 'dissertation_detail.html', { 'check_edit': check_edit, 'count': count, 'count_reader': count_reader, 'count_dissertation_role': count_dissertation_role, 'dissertation': memory, 'dissertation_roles': dissertation_roles, 'jury_visibility': jury_visibility, 'manage_readers': offer_pro.student_can_manage_readers, 'filename': filename, 'offer_propositions': offer_propositions }) else: return redirect('dissertations')
def dissertation_detail(request, pk): memory = get_object_or_404(dissertation.Dissertation, pk=pk) person = mdl.person.find_by_user(request.user) student = mdl.student.find_by_person(person) if memory.author_is_logged_student(request): off = memory.offer_year_start.offer offer_pro = offer_proposition.search_by_offer(off) offer_propositions = proposition_offer.search_by_proposition_dissertation(memory.proposition_dissertation) count = dissertation.count_submit_by_user(student, off) files = dissertation_document_file.find_by_dissertation(memory) filename = "" for file in files: filename = file.document_file.file_name count_dissertation_role = dissertation_role.count_by_dissertation(memory) count_reader = dissertation_role.count_reader_by_dissertation(memory) count_proposition_role = proposition_role.count_by_dissertation(memory) proposition_roles = proposition_role.search_by_dissertation(memory) jury_visibility = offer_pro.start_jury_visibility <= timezone.now().date() <= offer_pro.end_jury_visibility check_edit = offer_pro.start_edit_title <= timezone.now().date() <= offer_pro.end_edit_title if count_dissertation_role == 0: if count_proposition_role == 0: dissertation_role.add('PROMOTEUR', memory.proposition_dissertation.author, memory) else: for role in proposition_roles: dissertation_role.add(role.status, role.adviser, memory) dissertation_roles = dissertation_role.search_by_dissertation(memory) return layout.render(request, 'dissertation_detail.html', {'check_edit': check_edit, 'count': count, 'count_reader': count_reader, 'count_dissertation_role': count_dissertation_role, 'dissertation': memory, 'dissertation_roles': dissertation_roles, 'jury_visibility': jury_visibility, 'manage_readers': offer_pro.student_can_manage_readers, 'filename': filename, 'offer_propositions': offer_propositions}) else: return redirect('dissertations')
def proposition_dissertation_detail(request, pk): subject = get_object_or_404(proposition_dissertation.PropositionDissertation, pk=pk) offer_propositions = proposition_offer.search_by_proposition_dissertation(subject) person = mdl.person.find_by_user(request.user) student = mdl.student.find_by_person(person) using = dissertation.count_by_proposition(subject) percent = using * 100 / subject.max_number_student if subject.max_number_student else 0 count_proposition_role = proposition_role.count_by_proposition(subject) files = proposition_document_file.find_by_proposition(subject) filename = "" for file in files: filename = file.document_file.file_name if count_proposition_role < 1: proposition_role.add('PROMOTEUR', subject.author, subject) proposition_roles = proposition_role.search_by_proposition(subject) return layout.render(request, 'proposition_dissertation_detail.html', {'percent': round(percent, 2), 'proposition_roles': proposition_roles, 'proposition_dissertation': subject, 'offer_propositions': offer_propositions, 'student': student, 'using': using, 'filename': filename})