def create_link_student_file(student_data, subject, file_type, import_errors_link, user_create,
                             user_link):
    if file_type == "text/xml":
        data_form = StudentService.get_form_data_xml(student_data)
    else:
        data_form = StudentService.get_form_data_csv(student_data)

    form_student = UserEditForm(data=data_form)

    if form_student.is_valid():
        student = StudentService.create(form_student)
        StudentService.save(student)
        password = id_generator()
        UserService.save_password(student, password)
        user_create[student] = password
        student.asignaturas.add(subject)
    else:
        fullname = form_student.data['last_name'] + ", " + form_student.data['first_name']
        username = form_student.data['user']
        user = UserService.find_by_username(username)
        if user:
            student = Alumno.objects.get(id=user.id)
            if student:
                student.asignaturas.add(subject)
                user_link.append(student)
            else:
                import_errors_link.append(_("Student") + ": " + fullname + " - " + form_student.data['dni'])
        else:
            import_errors_link.append(_("Student") + ": " + fullname + " - " + form_student.data['dni'])
def create_link_student_file(student_data, subject, file_type,
                             import_errors_link, user_create, user_link):
    if file_type == "text/xml":
        data_form = StudentService.get_form_data_xml(student_data)
    else:
        data_form = StudentService.get_form_data_csv(student_data)

    form_student = UserEditForm(data=data_form)

    if form_student.is_valid():
        student = StudentService.create(form_student)
        StudentService.save(student)
        password = id_generator()
        UserService.save_password(student, password)
        user_create[student] = password
        student.asignaturas.add(subject)
    else:
        fullname = form_student.data['last_name'] + ", " + form_student.data[
            'first_name']
        username = form_student.data['user']
        user = UserService.find_by_username(username)
        if user:
            student = Alumno.objects.get(id=user.id)
            if student:
                student.asignaturas.add(subject)
                user_link.append(student)
            else:
                import_errors_link.append(
                    _("Student") + ": " + fullname + " - " +
                    form_student.data['dni'])
        else:
            import_errors_link.append(
                _("Student") + ": " + fullname + " - " +
                form_student.data['dni'])
Esempio n. 3
0
    def clean(self):

        username = self.cleaned_data.get('user')
        if username is not None:
            user = UserService.find_by_username(username)
            if user is not None:
                self.add_error(
                    'user',
                    _("There cannot be two users with the same username"))
            else:
                dni = self.cleaned_data.get('dni')
                user = StudentService.find_by_dni(dni)
                if user is not None:
                    self.add_error(
                        'dni',
                        _("There cannot be two users with the same ID number"))
                else:
                    user = LecturerService.find_by_dni(dni)
                    if user is not None:
                        self.add_error(
                            'dni',
                            _("There cannot be two users with the same ID number"
                              ))

        return self.cleaned_data
def get_form_data_xml(lecturer, subject):
    data = {}
    if lecturer:

        subject_id = subject.id
        data['subject_id'] = subject_id

        user = UserService.find_by_username(lecturer['uvus'])
        if user is not None:
            data['lecturer_id'] = user.id
            data['lecturer'] = user.first_name + user.last_name

        position = lecturer['cargo']
        data['position'] = position

    return data
Esempio n. 5
0
    def clean(self):

        username = self.cleaned_data.get('user')
        if username is not None:
            user = UserService.find_by_username(username)
            if user is not None:
                self.add_error('user', _("There cannot be two users with the same username"))
            else:
                dni = self.cleaned_data.get('dni')
                user = StudentService.find_by_dni(dni)
                if user is not None:
                    self.add_error('dni', _("There cannot be two users with the same ID number"))
                else:
                    user = LecturerService.find_by_dni(dni)
                    if user is not None:
                        self.add_error('dni', _("There cannot be two users with the same ID number"))

        return self.cleaned_data