def mandate_save(request): mandate_id = request.POST.get("mandate_id") mandate = assistant_mdl.assistant_mandate.find_mandate_by_id(mandate_id) if request.POST.get('del_rev'): mandate.assistant.supervisor = None mandate.assistant.save() elif request.POST.get('person_id'): try: substitute_supervisor = person.find_by_id(request.POST.get('person_id')) if substitute_supervisor: mandate.assistant.supervisor = substitute_supervisor mandate.assistant.save() html_template_ref = 'assistant_phd_supervisor_html' txt_template_ref = 'assistant_phd_supervisor_txt' send_message(person=substitute_supervisor, html_template_ref=html_template_ref, txt_template_ref=txt_template_ref, assistant=mandate.assistant) except ObjectDoesNotExist: pass form = MandateForm(data=request.POST, instance=mandate, prefix='mand') formset = entity_inline_formset(request.POST, request.FILES, instance=mandate, prefix='entity') if form.is_valid(): form.save() if formset.is_valid(): formset.save() return mandate_edit(request) else: return layout.render(request, "mandate_form.html", {'mandate': mandate, 'form': form, 'formset': formset}) else: return layout.render(request, "mandate_form.html", {'mandate': mandate, 'form': form, 'formset': formset})
def form_part3_save(request): mandate = assistant_mandate.find_mandate_by_id(request.POST.get("mandate_id")) if mandate: assistant = mandate.assistant files = assistant_document_file.find_by_assistant_mandate_and_description(mandate, document_type.PHD_DOCUMENT) form = AssistantFormPart3(data=request.POST, instance=assistant, prefix='mand') if form.is_valid(): current_assistant = form.save(commit=False) if current_assistant.inscription != assistant_phd_inscription.NO \ and (not request.POST.get('person_id') and current_assistant.supervisor is None): msg = _("must_enter_supervisor_if_registered_or_in_progress") form.add_error('inscription', msg) return render(request, "assistant_form_part3.html", {'assistant': assistant, 'mandate': mandate, 'files': files, 'form': form}) if current_assistant.inscription is None: msg = _("phd_inscription_choice_required") form.add_error('inscription', msg) return render(request, "assistant_form_part3.html", {'assistant': assistant, 'mandate': mandate, 'files': files, 'form': form}) if request.POST.get('person_id'): current_assistant.supervisor = person.find_by_id(request.POST.get('person_id')) current_assistant.save() else: form.save() return form_part3_edit(request) else: return render(request, "assistant_form_part3.html", {'assistant': assistant, 'mandate': mandate, 'files': files, 'form': form}) else: return form_part3_edit(request, msg=_("data_not_saved"))
def mandate_save(request): mandate_id = request.POST.get("mandate_id") mandate = assistant_mdl.assistant_mandate.find_mandate_by_id(mandate_id) if request.POST.get('del_rev'): mandate.assistant.supervisor = None mandate.assistant.save() elif request.POST.get('person_id'): try: substitute_supervisor = person.find_by_id(request.POST.get('person_id')) if substitute_supervisor: mandate.assistant.supervisor = substitute_supervisor mandate.assistant.save() html_template_ref = 'assistant_phd_supervisor_html' txt_template_ref = 'assistant_phd_supervisor_txt' send_message(person=substitute_supervisor, html_template_ref=html_template_ref, txt_template_ref=txt_template_ref, assistant=mandate.assistant) except ObjectDoesNotExist: pass form = MandateForm(data=request.POST, instance=mandate, prefix='mand') formset = entity_inline_formset(request.POST, request.FILES, instance=mandate, prefix='entity') if form.is_valid(): form.save() if formset.is_valid(): formset.save() return mandate_edit(request) else: return layout.render(request, "mandate_form.html", {'mandate': mandate, 'form': form, 'formset': formset}) else: return layout.render(request, "mandate_form.html", {'mandate': mandate, 'form': form, 'formset': formset})
def reviewer_add(request): year = academic_year.starting_academic_year().year if request.POST: form = ReviewerForm(data=request.POST) this_person = request.POST.get('person_id') if form.is_valid() and this_person: this_person = person.find_by_id(this_person) new_reviewer = form.save(commit=False) if reviewer.find_by_entity_and_role(new_reviewer.entity, new_reviewer.role): msg = _( "A reviewer having the same role for this entity already exists" ) form.add_error(None, msg) if not form.has_error(field=NON_FIELD_ERRORS): new_reviewer.person = this_person new_reviewer.save() return redirect('reviewers_list') else: msg = _( "Please enter the last name and first name of the person you are looking for and select the " "corresponding choice in the drop-down list") form.add_error(None, msg) else: form = ReviewerForm(initial={'year': year}) return render(request, "manager_add_reviewer.html", { 'form': form, 'year': year })
def add_reviewer_for_structure(request): current_entity = entity.find_by_id(request.POST.get("entity")) year = academic_year.current_academic_year().year if not reviewer.can_delegate_to_entity(reviewer.find_by_person(request.user.person), current_entity): return redirect('assistants_home') form = ReviewerDelegationForm(data=request.POST) if form.is_valid() and request.POST.get('person_id'): new_reviewer = form.save(commit=False) this_person = person.find_by_id(request.POST.get('person_id')) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) return render(request, "reviewer_add_reviewer.html", { 'form': form, 'year': year, 'entity': current_entity, 'reviewer': reviewer.find_by_person(request.user.person) }) new_reviewer.person = this_person new_reviewer.save() html_template_ref = 'assistant_reviewers_startup_html' txt_template_ref = 'assistant_reviewers_startup_txt' send_message(person=this_person, html_template_ref=html_template_ref, txt_template_ref=txt_template_ref) return redirect('reviewer_delegation') else: this_reviewer = reviewer.find_by_person(person=request.user.person) role = this_reviewer.role + '_ASSISTANT' form = ReviewerDelegationForm(initial={'entity': current_entity, 'year': year, 'role': role}) return render(request, "reviewer_add_reviewer.html", { 'form': form, 'year': year, 'entity': current_entity, 'reviewer': reviewer.find_by_person(request.user.person) })
def form_part3_save(request): mandate = assistant_mandate.find_mandate_by_id(request.POST.get("mandate_id")) if mandate: assistant = mandate.assistant files = assistant_document_file.find_by_assistant_mandate_and_description(mandate, document_type.PHD_DOCUMENT) form = AssistantFormPart3(data=request.POST, instance=assistant, prefix='mand') if form.is_valid(): current_assistant = form.save(commit=False) if current_assistant.inscription != assistant_phd_inscription.NO \ and (not request.POST.get('person_id') and current_assistant.supervisor is None): msg = _("must_enter_supervisor_if_registered_or_in_progress") form.add_error('inscription', msg) return render(request, "assistant_form_part3.html", {'assistant': assistant, 'mandate': mandate, 'files': files, 'form': form}) if current_assistant.inscription is None: msg = _("phd_inscription_choice_required") form.add_error('inscription', msg) return render(request, "assistant_form_part3.html", {'assistant': assistant, 'mandate': mandate, 'files': files, 'form': form}) if request.POST.get('person_id'): current_assistant.supervisor = person.find_by_id(request.POST.get('person_id')) current_assistant.save() else: form.save() return form_part3_edit(request) else: return render(request, "assistant_form_part3.html", {'assistant': assistant, 'mandate': mandate, 'files': files, 'form': form}) else: return form_part3_edit(request, msg=_("data_not_saved"))
def add_reviewer_for_structure(request): current_entity = entity.find_by_id(request.POST.get("entity")) year = academic_year.current_academic_year().year if not reviewer.can_delegate_to_entity(reviewer.find_by_person(request.user.person), current_entity): return redirect('assistants_home') form = ReviewerDelegationForm(data=request.POST) if form.is_valid() and request.POST.get('person_id'): new_reviewer = form.save(commit=False) this_person = person.find_by_id(request.POST.get('person_id')) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) return render(request, "reviewer_add_reviewer.html", { 'form': form, 'year': year, 'entity': current_entity, 'reviewer': reviewer.find_by_person(request.user.person) }) new_reviewer.person = this_person new_reviewer.save() html_template_ref = 'assistant_reviewers_startup_html' txt_template_ref = 'assistant_reviewers_startup_txt' send_message(person=this_person, html_template_ref=html_template_ref, txt_template_ref=txt_template_ref) return redirect('reviewer_delegation') else: this_reviewer = reviewer.find_by_person(person=request.user.person) role = this_reviewer.role + '_ASSISTANT' form = ReviewerDelegationForm(initial={'entity': current_entity, 'year': year, 'role': role}) return render(request, "reviewer_add_reviewer.html", { 'form': form, 'year': year, 'entity': current_entity, 'reviewer': reviewer.find_by_person(request.user.person) })
def add_reviewer_for_structure(request): current_entity = entity.find_by_id(request.POST.get("entity")) year = academic_year.starting_academic_year().year current_reviewer = reviewer_eligible_to_delegate( reviewer.find_by_person(request.user.person), current_entity ) if not current_reviewer: return redirect('assistants_home') form = ReviewerDelegationForm(data=request.POST) if form.is_valid() and request.POST.get('person_id'): new_reviewer = form.save(commit=False) new_reviewer.person = person.find_by_id(request.POST.get('person_id')) new_reviewer.save() send_message( person=new_reviewer.person, html_template_ref='assistant_reviewers_startup_html', txt_template_ref='assistant_reviewers_startup_txt' ) return redirect('reviewer_delegation') role = current_reviewer.role + '_ASSISTANT' form = ReviewerDelegationForm(initial={'entity': current_entity, 'year': year, 'role': role}) return render(request, "reviewer_add_reviewer.html", { 'form': form, 'year': year, 'entity': current_entity, 'reviewer': current_reviewer })
def form_part1_save(request): mandate = assistant_mandate.find_mandate_by_id(request.POST.get("mandate_id")) if mandate: assistant = mandate.assistant pers = person.find_by_id(assistant.person.id) addresses = person_address.find_by_person(pers) form = AssistantFormPart1(data=request.POST, instance=mandate) if form.is_valid(): form.save() return form_part1_edit(request) else: return render(request, "assistant_form_part1.html", {'assistant': assistant, 'mandate': mandate, 'addresses': addresses, 'form': form}) else: return form_part1_edit(request, msg=_("data_not_saved"))
def form_part1_save(request): mandate = assistant_mandate.find_mandate_by_id(request.POST.get("mandate_id")) if mandate: assistant = mandate.assistant pers = person.find_by_id(assistant.person.id) addresses = person_address.find_by_person(pers) form = AssistantFormPart1(data=request.POST, instance=mandate) if form.is_valid(): form.save() return form_part1_edit(request) else: return render(request, "assistant_form_part1.html", {'assistant': assistant, 'mandate': mandate, 'addresses': addresses, 'form': form}) else: return form_part1_edit(request, msg=_("data_not_saved"))
def send_again(message_history_id): """ send a message from message history again :param message_history_id The id of the message history to send again :return the sent message TO-DO : correction of send_message in osis-common to get the associated receiver , based on id and receiver model """ message_history = message_history_mdl.find_by_id(message_history_id) person = person_mdl.find_by_id(message_history.receiver_id) if person: receiver = message_config.create_receiver(person.id, person.email, person.language) return message_service.send_again(receiver, message_history_id) else: return _('no_receiver_error')
def reviewer_add(request): year = academic_year.current_academic_year().year if request.POST: form = ReviewerForm(data=request.POST) if form.is_valid(): new_reviewer = form.save(commit=False) if request.POST.get('person_id'): this_person = person.find_by_id(request.POST.get('person_id')) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) return render(request, "manager_add_reviewer.html", {'form': form, 'year': year}) else: new_reviewer.person = this_person new_reviewer.save() return redirect('reviewers_list') else: return render(request, "manager_add_reviewer.html", {'form': form, 'year': year}) else: form = ReviewerForm(initial={'year': year}) return render(request, "manager_add_reviewer.html", {'form': form, 'year': year})
def reviewer_replace(request): year = academic_year.current_academic_year().year if request.POST: form = ReviewerReplacementForm(data=request.POST, prefix='rev') if form.is_valid(): reviewer_to_replace = reviewer.find_by_id(form.cleaned_data.get('id')) if request.POST.get('person_id'): this_person = person.find_by_id(request.POST.get('person_id')) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) return render(request, "manager_replace_reviewer.html", {'form': form, 'reviewer': reviewer_to_replace, 'year': year}) else: reviewer_to_replace.person = this_person reviewer_to_replace.save() return redirect('reviewers_list') else: return render(request, "manager_replace_reviewer.html", {'form': form, 'year': year}) else: return redirect('reviewers_list')
def reviewer_replace(request): year = academic_year.current_academic_year().year form = ReviewerReplacementForm(data=request.POST, prefix='rev') reviewer_to_replace = reviewer.find_by_id(request.POST.get('reviewer_id')) entity = entity_version.get_last_version(reviewer_to_replace.entity) this_person = request.POST.get('person_id') if form.is_valid() and this_person: this_person = person.find_by_id(this_person) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) else: reviewer_to_replace.person = this_person reviewer_to_replace.save() return redirect('reviewers_list') else: msg = _("bad_person_msg") form.add_error(None, msg) return render(request, "manager_replace_reviewer.html", {'reviewer': reviewer_to_replace, 'entity': entity, 'year': year, 'form': form})
def reviewer_replace(request): year = academic_year.current_academic_year().year form = ReviewerReplacementForm(data=request.POST, prefix='rev') reviewer_to_replace = reviewer.find_by_id(request.POST.get('reviewer_id')) entity = entity_version.get_last_version(reviewer_to_replace.entity) this_person = request.POST.get('person_id') if form.is_valid() and this_person: this_person = person.find_by_id(this_person) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) else: reviewer_to_replace.person = this_person reviewer_to_replace.save() return redirect('reviewers_list') else: msg = _("bad_person_msg") form.add_error(None, msg) return render(request, "manager_replace_reviewer.html", {'reviewer': reviewer_to_replace, 'entity': entity, 'year': year, 'form': form})
def reviewer_replace(request): year = academic_year.starting_academic_year().year form = ReviewerReplacementForm(data=request.POST, prefix='rev') reviewer_to_replace = reviewer.find_by_id(request.POST.get('reviewer_id')) entity = entity_version.get_last_version(reviewer_to_replace.entity) this_person = request.POST.get('person_id') if form.is_valid() and this_person: this_person = person.find_by_id(this_person) reviewer_to_replace.person = this_person reviewer_to_replace.save() return redirect('reviewers_list') else: msg = _( "Please enter the last name and first name of the person you are looking for and select the " "corresponding choice in the drop-down list") form.add_error(None, msg) return render( request, "manager_replace_reviewer.html", { 'reviewer': reviewer_to_replace, 'entity': entity, 'year': year, 'form': form })
def reviewer_add(request): year = academic_year.current_academic_year().year if request.POST: form = ReviewerForm(data=request.POST) this_person = request.POST.get('person_id') if form.is_valid() and this_person: this_person = person.find_by_id(this_person) new_reviewer = form.save(commit=False) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) if reviewer.find_by_entity_and_role(new_reviewer.entity, new_reviewer.role): msg = _("reviewer_with_same_role_already_exists_msg") form.add_error(None, msg) if not form.has_error(field=NON_FIELD_ERRORS): new_reviewer.person = this_person new_reviewer.save() return redirect('reviewers_list') else: msg = _("bad_person_msg") form.add_error(None, msg) else: form = ReviewerForm(initial={'year': year}) return render(request, "manager_add_reviewer.html", {'form': form, 'year': year})
def reviewer_add(request): year = academic_year.current_academic_year().year if request.POST: form = ReviewerForm(data=request.POST) this_person = request.POST.get('person_id') if form.is_valid() and this_person: this_person = person.find_by_id(this_person) new_reviewer = form.save(commit=False) if reviewer.find_by_person(this_person): msg = _("person_already_reviewer_msg") form.add_error(None, msg) if reviewer.find_by_entity_and_role(new_reviewer.entity, new_reviewer.role): msg = _("reviewer_with_same_role_already_exists_msg") form.add_error(None, msg) if not form.has_error(field=NON_FIELD_ERRORS): new_reviewer.person = this_person new_reviewer.save() return redirect('reviewers_list') else: msg = _("bad_person_msg") form.add_error(None, msg) else: form = ReviewerForm(initial={'year': year}) return render(request, "manager_add_reviewer.html", {'form': form, 'year': year})
def test_find_by_id(self): tmp_person = PersonFactory() db_person = person.find_by_id(tmp_person.id) self.assertIsNotNone(tmp_person.user) self.assertEqual(db_person.id, tmp_person.id) self.assertEqual(db_person.email, tmp_person.email)
def add_reviewer_for_structure(request): entity_id = request.POST.get("entity_id") related_entity = entity.get_by_internal_id(entity_id) current_entity_version = entity_version.get_last_version( entity.get_by_internal_id(entity_id)) year = academic_year.current_academic_year().year try: reviewer.can_delegate_to_entity( reviewer.find_by_person(request.user.person), related_entity) except: return redirect('assistants_home') if request.POST: form = ReviewerDelegationForm(data=request.POST) if form.is_valid(): new_reviewer = form.save(commit=False) if request.POST.get('person_id'): this_person = person.find_by_id(request.POST.get('person_id')) try: reviewer.find_by_person(this_person) msg = _("person_already_reviewer_msg") form.add_error(None, msg) return render( request, "reviewer_add_reviewer.html", { 'form': form, 'year': year, 'related_entity': related_entity, 'current_entity_version': current_entity_version, 'reviewer': reviewer.find_by_person(request.user.person) }) except reviewer.Reviewer.DoesNotExist: pass new_reviewer.person = this_person new_reviewer.save() html_template_ref = 'assistant_reviewers_startup_html' txt_template_ref = 'assistant_reviewers_startup_txt' send_message(person=this_person, html_template_ref=html_template_ref, txt_template_ref=txt_template_ref) return redirect('reviewer_delegation') else: this_reviewer = reviewer.find_by_person(person=request.user.person) if this_reviewer.role == reviewer_role.SUPERVISION: role = reviewer_role.SUPERVISION_ASSISTANT else: role = reviewer_role.RESEARCH_ASSISTANT form = ReviewerDelegationForm(initial={ 'entity': related_entity, 'year': year, 'role': role }) reviewer_entity = entity_version.get_last_version( this_reviewer.entity) return render( request, "reviewer_add_reviewer.html", { 'form': form, 'year': year, 'related_entity': related_entity, 'entity': reviewer_entity, 'current_entity_version': current_entity_version, 'reviewer': reviewer.find_by_person(request.user.person) })