def manager_dissertations_role_delete(request, pk): dissert_role = dissertation_role.find_by_id(pk) if dissert_role is None: return redirect('manager_dissertations_list') dissert = dissert_role.dissertation person = mdl.person.find_by_user(request.user) adv = adviser.search_by_person(person) if adviser_can_manage(dissert, adv) and \ _justification_dissert_role_delete_change(request, dissert, dissert_role, _("Manager deleted jury")): return redirect('manager_dissertations_detail', pk=dissert.pk) else: return redirect('manager_dissertations_list')
def manager_dissertations_jury_edit(request, pk): dissert_role = dissertation_role.find_by_id(pk) if dissert_role is None: return redirect('dissertations_list') if request.method == "POST": form = ManagerDissertationRoleForm(request.POST, instance=dissert_role) if form.is_valid(): form.save() return redirect('manager_dissertations_detail', pk=dissert_role.dissertation.pk) else: form = ManagerDissertationRoleForm(instance=dissert_role) return render(request, 'manager_dissertations_jury_edit.html', {'form': form})
def manager_dissertations_role_delete(request, pk): dissert_role = dissertation_role.find_by_id(pk) redirect_if_none(dissert_role, 'manager_dissertations_list') dissert = dissert_role.dissertation person = mdl.person.find_by_user(request.user) adv = adviser.search_by_person(person) if (adviser_can_manage(dissert, adv)): if dissert.status != 'DRAFT' and role_can_be_deleted(dissert, dissert_role): justification = "%s %s" % ("manager_delete_jury", str(dissert_role)) dissertation_update.add(request, dissert, dissert.status, justification=justification) dissert_role.delete() return redirect('manager_dissertations_detail', pk=dissert.pk) else: return redirect('manager_dissertations_list')
def dissertations_role_delete(request, pk): dissert_role = dissertation_role.find_by_id(pk) redirect_if_none(dissert_role,'dissertations_list') dissert = dissert_role.dissertation person = mdl.person.find_by_user(request.user) adv = adviser.search_by_person(person) offer_prop = offer_proposition.get_by_dissertation(dissert) if offer_prop is not None and teacher_is_promotor(adv, dissert): if offer_prop.adviser_can_suggest_reader and role_can_be_deleted(dissert, dissert_role): justification = "%s %s" % ("teacher_delete_jury", str(dissert_role)) dissertation_update.add(request, dissert, dissert.status, justification=justification) dissert_role.delete() return redirect('dissertations_detail', pk=dissert.pk)
def manager_dissertations_jury_edit(request, pk): dissert_role = dissertation_role.find_by_id(pk) redirect_if_none(dissert_role,'manager_dissertations_list') person = mdl.person.find_by_user(request.user) adv = adviser.search_by_person(person) if adviser_can_manage(dissert_role.dissertation,adv): if request.method == "POST": form = ManagerDissertationRoleForm(request.POST, instance=dissert_role) if form.is_valid(): form.save() return redirect('manager_dissertations_detail', pk=dissert_role.dissertation.pk) else: form = ManagerDissertationRoleForm(instance=dissert_role) return layout.render(request, 'manager_dissertations_jury_edit.html', {'form': form}) else: return redirect('manager_dissertations_list')