def clean_attribute_initial_value(attribute_name, attribute_value): # TODO : clean this function ; it could make up to 6 hits DB clean_attribute_value = attribute_value if attribute_name == "campus": clean_attribute_value = campus.find_by_id(attribute_value) elif attribute_name == "language": clean_attribute_value = language.find_by_id(attribute_value) elif attribute_name in ['requirement_entity', 'allocation_entity', 'additional_entity_1', 'additional_entity_2']: clean_attribute_value = get_by_internal_id(attribute_value) return clean_attribute_value
def _reinitialize_entities_before_proposal(learning_container_year, initial_entities_by_type): for type_entity, id_entity in initial_entities_by_type.items(): initial_entity = entity.get_by_internal_id(id_entity) if initial_entity: update_or_create_entity_container_year_with_components( initial_entity, learning_container_year, type_entity) else: current_entity_container_year = entity_container_year.find_by_learning_container_year_and_linktype( learning_container_year, type_entity) if current_entity_container_year is not None: current_entity_container_year.delete()
def create_versions_of_existing_entity(entityversion_data, same_entity): new_versions_count = 0 for version in entityversion_data: identical_versions_count = entity_version.count_identical_versions(same_entity, version) if not identical_versions_count: parent = entity.get_by_internal_id(version.pop('parent')) res = create_version(version, same_entity, parent) if res is None: continue new_versions_count += 1 return new_versions_count
def create_versions_of_existing_entity(request, same_entity): new_versions_count = 0 entityversion_data = request.data.get('entityversion_set') for version in entityversion_data: identical_versions_count = entity_version.count_identical_versions( same_entity, version) if not identical_versions_count: parent = entity.get_by_internal_id(version.pop('parent')) if create_version(version, same_entity, parent) is not None: new_versions_count += 1 return new_versions_count
def create_versions_of_existing_entity(entityversion_data, same_entity): new_versions_count = 0 for version in entityversion_data: identical_versions_count = entity_version.count_identical_versions(same_entity, version) if not identical_versions_count: parent = entity.get_by_internal_id(version.pop('parent')) res = create_version(version, same_entity, parent) if res is None: continue new_versions_count += 1 return new_versions_count
def is_eligible_for_cancel_of_proposal(learning_unit_proposal, a_person): if not learning_unit_proposal or learning_unit_proposal.state != ProposalState.FACULTY.name: return False if learning_unit_proposal.type not in CANCELLABLE_PROPOSAL_TYPES: return False initial_entity_requirement_id = learning_unit_proposal.initial_data[ "entities"][REQUIREMENT_ENTITY] an_entity = entity.get_by_internal_id(initial_entity_requirement_id) if an_entity in a_person.entities: return True return a_person.is_linked_to_entity_in_charge_of_learning_unit_year( learning_unit_proposal.learning_unit_year)
def get_score_sheet_address(off_year): address = score_sheet_address.get_from_offer_year(off_year) entity_id = None if address is None: address = off_year.id else: if address and not address.customized: map_offer_year_entity_type_with_entity_id = _get_map_offer_year_entity_type_with_entity(off_year) entity_id = map_offer_year_entity_type_with_entity_id[address.entity_address_choice] ent_version = entity_version.get_last_version(entity_id) entity = entity_model.get_by_internal_id(entity_id) if not entity: # Case no address found for this entity entity = entity_model.Entity() email = address.email address = entity address.recipient = '{} - {}'.format(ent_version.acronym, ent_version.title) address.email = email return {'entity_id_selected': entity_id, 'address': _get_address_as_dict(address)}
def get_score_sheet_address(off_year): address = score_sheet_address.get_from_offer_year(off_year) entity_id = None if address is None: address = off_year.id else: if address and not address.customized: map_offer_year_entity_type_with_entity_id = _get_map_offer_year_entity_type_with_entity(off_year) entity_id = map_offer_year_entity_type_with_entity_id[address.entity_address_choice] ent_version = entity_version.get_last_version(entity_id) entity = entity_model.get_by_internal_id(entity_id) if not entity: # Case no address found for this entity entity = entity_model.Entity() email = address.email address = entity address.recipient = '{} - {}'.format(ent_version.acronym, ent_version.title) address.email = email return {'entity_id_selected': entity_id, 'address': _get_address_as_dict(address)}
def test_get_by_internal_id(self): an_entity = EntityFactory() self.assertEqual(entity.get_by_internal_id(an_entity.id), an_entity) self.assertEqual(entity.get_by_internal_id(an_entity.id + 1), None)
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) })
def test_get_by_internal_id(self): self.assertEqual(entity.get_by_internal_id(self.an_entity.id), self.an_entity) self.assertEqual(entity.get_by_internal_id(self.an_entity.id + 1), None)