def create(self, data): self.add_base_info(data) user = user_service.create_user(data['username'], data['password']) group = Group.find_by_id(data['group_id']) if group is None: group = Group(id=data['group_id']) group.add_to_db() student = Student(fio=data['fio'], fullname=data['fullname'], admission_year=data['admission_year'], group_id=group.id) student.account = user student.add_to_db() db.session.commit() return data
def create_student(self, data): user = user_service.create_user(data['username'], data['password']) group = Group.find_by_id(data['group_id']) if group is None: group = Group(id=data['group_id']) group.add_to_db() student = Student(lastname=data['lastname'], firstname=data['firstname'], patronymic=data['patronymic'], rank=data['rank'], admission_year=data['admission_year'], group_id=group.id) student.account = user student.add_to_db() db.session.commit() return student
def add_association(self, username, subject_name, group_id): tutor = self.find_tutor_by_username(username) if tutor.tgs.filter_by(subject_name=subject_name, group_id=group_id).first(): raise AssociationExist(subject_name=subject_name, group_id=group_id) subject = Subject.find_by_name(subject_name) if subject is None: subject = Subject(name=subject_name) subject.add_to_db() group = Group.find_by_id(group_id) if group is None: group = Group(id=group_id) group.add_to_db() association = AssociationTGS() association.subject = subject association.group = group tutor.tgs.append(association) db.session.commit()