Beispiel #1
0
 def test_find_by_global_id(self):
     a_person = person.Person(global_id="123")
     a_person.save()
     dupplicated_person = person.Person(global_id="123")
     dupplicated_person.save()
     found_person = person.find_by_global_id("1234")
     return self.assertEqual(found_person, None, "find_by_global_id should return None if a record is not found.")
Beispiel #2
0
 def update_person_after_user_creation(sender, **kwargs):
     user = kwargs.get('user')
     user_infos = kwargs.get('user_infos')
     person = find_by_global_id(user_infos.get('USER_FGS'))
     person = _create_update_person(user, person, user_infos)
     _add_person_to_group(person)
     return person
Beispiel #3
0
def _insert_internship_student_information(idx, row):
    values = dict.fromkeys(['not_found', 'imported', 'duplicated', 'error'],
                           False)
    values['idx'] = idx

    person = mdl_person.find_by_global_id(row.noma)
    if not person:
        values['not_found'] = True
    else:
        student = mdl_isi.InternshipStudentInformation()
        student.person = person
        student.location = row.street
        student.postal_code = row.postal_code
        student.city = row.city
        student.country = row.country
        student.phone_mobile = row.phone_mobile
        student.email = row.email

        try:
            student.save()
            if person.user:
                group = Group.objects.get(name='internship_students')
                person.user.groups.add(group)
            values['imported'] = True
        except django.db.IntegrityError:
            values['duplicated'] = True
        except (django.db.DataError, Exception) as ex:
            values['error'] = True

    status = Status(**values)
    return status
Beispiel #4
0
def download_student_attestation(request, global_id, academic_year,
                                 attestation_type):
    attestation_pdf = student_attestation.fetch_student_attestation(
        global_id, academic_year, attestation_type, request.user)
    if attestation_pdf:
        return _make_pdf_attestation(attestation_pdf, attestation_type)
    else:
        person = person_mdl.find_by_global_id(global_id)
        student = student_mdl.find_by_person(person)
        messages.add_message(request, messages.ERROR,
                             _('error_fetching_attestation'))
        return visualize_student_attestations(request, student.registration_id)
Beispiel #5
0
def get_or_create_person(user=None, first_name=None, global_id=None):
    person = None
    created = False
    if user:
        person = mdl_person.find_by_user(user)
    if not person and global_id:
        person = mdl_person.find_by_global_id(global_id)
    if not person:
        person = Person(user=user, first_name=first_name, global_id=global_id)
        created = True
    if created:
        person.user = user
        person.first_name = first_name
        person.global_id = global_id
    person.save()
    return person
Beispiel #6
0
def get_or_create_person(user=None, first_name=None, global_id=None):
    person = None
    created = False
    if user:
        person = mdl_person.find_by_user(user)
    if not person and global_id:
        person = mdl_person.find_by_global_id(global_id)
    if not person:
        person = Person(user=user, first_name=first_name, global_id=global_id)
        created = True
    if created:
        person.user = user
        person.first_name = first_name
        person.global_id = global_id
    person.save()
    return person