コード例 #1
0
class StudentProject(db.Model):
    studentId = db.Column(db.Integer,
                          db.ForeignKey('student.id'),
                          nullable=False,
                          primary_key=True)
    projectId = db.Column(db.Integer,
                          db.ForeignKey('project.id'),
                          nullable=False,
                          primary_key=True)
    courseId = db.Column(db.Integer,
                         db.ForeignKey('course.id'),
                         nullable=False,
                         primary_key=True)
コード例 #2
0
ファイル: models.py プロジェクト: nitzanwin/AVR-Lab
class Course(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	number = db.Column(db.String(20), unique=True, nullable=False)
	name = db.Column(db.String(60), nullable=True)
	lab = db.Column(db.Integer, db.ForeignKey('lab.id'), nullable=True)

	def __repr__(self):
		return "Course({}, {}, {})".format(self.id, self.number, self.name)
コード例 #3
0
ファイル: models.py プロジェクト: nitzanwin/AVR-Lab
class Project(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	title = db.Column(db.String(60), nullable=False)
	semester = db.Column(db.String(20), nullable=False)
	year = db.Column(db.Integer, nullable=False)
	grade = db.Column(db.Integer, nullable=True)
	comments = db.Column(db.Text, nullable=True)
	image = db.Column(db.String(50), nullable=True)
	
	status = db.Column(db.String(50), nullable=True)
	requirementsDoc = db.Column(db.Boolean, nullable=True, default=False)
	firstMeeting = db.Column(db.Boolean, nullable=True, default=False)
	halfwayPresentation = db.Column(db.Boolean, nullable=True, default=False)
	finalMeeting = db.Column(db.Boolean, nullable=True, default=False)
	projectReport = db.Column(db.Boolean, nullable=True, default=False)
	equipmentReturned = db.Column(db.Boolean, nullable=True, default=False)
	projectDoc = db.Column(db.Boolean, nullable=True, default=False)
	gradeStatus = db.Column(db.Boolean, nullable=True, default=False)

	courses = db.relationship('Course', secondary='student_project', backref=db.backref('projects', lazy='dynamic'))
	lab = db.Column(db.Integer, db.ForeignKey('lab.id'), nullable=True)
	
	def __repr__(self):
		return "Project({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {})".format(self.id, self.title, self.semester, self.year, self.grade, self.comments, self.requirementsDoc, self.firstMeeting, self.halfwayPresentation, self.finalMeeting, self.projectReport, self.equipmentReturned, self.projectDoc, self.gradeStatus)
	
	def calculateStatus(self):
		if self.gradeStatus:
			return "ציון"
		if self.projectDoc:
			return "דף פרוייקט"
		if self.projectReport:
			return 'דו"ח פרוייקט'
		if self.finalMeeting:
			return 'פגישת סיום'
		if self.halfwayPresentation:
			return "מצגת אמצע"
		if self.firstMeeting:
			return "פגישת התנעה"
		if self.requirementsDoc:
			return "מסמך דרישות"
		else:
			return "הרשמה"

	@property
	def studentsFullNameEng(self):
		return [s.firstNameEng + ' ' + s.lastNameEng for s in self.students]
	
	@property
	def supervisorsFullNameEng(self):
		return [s.firstNameEng + ' ' + s.lastNameEng for s in self.supervisors]
コード例 #4
0
ファイル: models.py プロジェクト: nitzanwin/AVR-Lab
class ProposedProject(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	title = db.Column(db.String(60), unique=True, nullable=False)
	description = db.Column(db.Text, nullable=False)
	image = db.Column(db.String(50), nullable=True)

	supervisors = db.relationship('Supervisor', secondary='supervisor_proposed_project', backref=db.backref('proposedProjects', lazy='dynamic'))
	lab = db.Column(db.Integer, db.ForeignKey('lab.id'), nullable=True)
	@property
	def supervisorsFullNameEng(self):
		return [s.firstNameEng + ' ' + s.lastNameEng for s in self.supervisors]
	
	def __repr__(self):
		return "ProposedProject({}, {}, {}, {})".format(self.id, self.title, self.description, self.image)
コード例 #5
0
ファイル: models.py プロジェクト: nitzanwin/AVR-Lab
	lastNameEng = db.Column(db.String(40),nullable=False)
	firstNameHeb = db.Column(db.String(40), nullable=False)
	lastNameHeb = db.Column(db.String(40),nullable=False)
	email = db.Column(db.String(150), nullable=True)
	phone = db.Column(db.String(20), nullable=True)
	status = db.Column(db.String(30), nullable=False, default="active")

	projects = db.relationship('Project', secondary='supervisor_project', backref=db.backref('supervisors', lazy='dynamic'), order_by='Project.year.desc(),Project.semester.asc()')

	def __repr__(self):
		return "Supervisor({}, {}, {}, {}, {}, {}, {}, {}, {})".format(self.id, self.supervisorId, self.firstNameEng, self.lastNameEng, self.firstNameHeb, self.lastNameHeb, self.email, self.phone, self.status)


# bridge table between supervisors and proposed projects
supervisor_proposed_project = db.Table('supervisor_proposed_project',
					db.Column('supervisorId', db.Integer, db.ForeignKey('supervisor.id')),
					db.Column('proposedProjectId', db.Integer, db.ForeignKey('proposed_project.id')))


# bridge table between supervisors and projects
supervisor_project = db.Table('supervisor_project',
					db.Column('supervisorId', db.Integer, db.ForeignKey('supervisor.id')),
					db.Column('projectId', db.Integer, db.ForeignKey('project.id')))


# bridge table between students and projects
class StudentProject(db.Model):
	studentId = db.Column(db.Integer, db.ForeignKey('student.id') ,nullable=False, primary_key=True)
	projectId = db.Column(db.Integer, db.ForeignKey('project.id') ,nullable=False, primary_key=True)
	courseId = db.Column(db.Integer, db.ForeignKey('course.id') ,nullable=False, primary_key=True)