2021-06-30 23:02:44 +00:00
|
|
|
from datetime import date
|
2021-06-02 21:43:41 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
from flask_security import hash_password
|
2021-06-02 21:43:41 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
from advlabdb import app, db, user_datastore
|
|
|
|
from advlabdb.models import *
|
|
|
|
|
|
|
|
with app.app_context():
|
|
|
|
db.drop_all()
|
|
|
|
db.create_all()
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
sem1 = Semester(label="WS2021")
|
|
|
|
sem2 = Semester(label="SS21")
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(sem1)
|
|
|
|
db.session.add(sem2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-07-01 17:43:59 +00:00
|
|
|
sem1.transferPartsFrom(None)
|
2021-07-01 20:20:34 +00:00
|
|
|
sem2.transferPartsFrom(sem1)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-06-02 00:13:52 +00:00
|
|
|
parta1 = sem2.parts[0]
|
|
|
|
partb2 = sem2.parts[1]
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-05-14 16:53:15 +00:00
|
|
|
student1 = Student(student_number=123, first_name="Mo", last_name="Bit", uni_email="m@test.com")
|
|
|
|
student2 = Student(student_number=1232, first_name="Mo2", last_name="Bit", uni_email="m2@test.com")
|
|
|
|
student3 = Student(student_number=1233, first_name="Mo3", last_name="Bit3", uni_email="m3@test.com")
|
2021-05-02 16:11:08 +00:00
|
|
|
|
|
|
|
db.session.add(student1)
|
|
|
|
db.session.add(student2)
|
|
|
|
db.session.add(student3)
|
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
g1 = Group(number=1, part=parta1)
|
|
|
|
g2 = Group(number=2, part=partb2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(g1)
|
|
|
|
db.session.add(g2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
ps1 = PartStudent(student=student1, part=parta1, group=g1)
|
|
|
|
ps2 = PartStudent(student=student2, part=parta1, group=g1)
|
|
|
|
ps3 = PartStudent(student=student3, part=partb2, group=g2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(ps1)
|
|
|
|
db.session.add(ps2)
|
|
|
|
db.session.add(ps3)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-06-02 21:43:41 +00:00
|
|
|
ex1 = Experiment(
|
|
|
|
number=1,
|
|
|
|
name="exp",
|
|
|
|
room="123",
|
|
|
|
building="phy",
|
|
|
|
responsibility="none",
|
|
|
|
duration_in_days=2,
|
|
|
|
oral_weighting=0.5,
|
|
|
|
protocol_weighting=0.5,
|
|
|
|
final_weighting=1,
|
|
|
|
)
|
|
|
|
|
|
|
|
ex2 = Experiment(
|
|
|
|
number=2,
|
|
|
|
name="exp2",
|
|
|
|
room="123",
|
|
|
|
building="phy",
|
|
|
|
responsibility="none",
|
|
|
|
duration_in_days=2,
|
|
|
|
oral_weighting=0.5,
|
|
|
|
protocol_weighting=0.5,
|
|
|
|
final_weighting=1,
|
|
|
|
)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(ex1)
|
|
|
|
db.session.add(ex2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-07-01 12:41:20 +00:00
|
|
|
sx1 = SemesterExperiment(experiment=ex1, semester=sem2)
|
|
|
|
sx2 = SemesterExperiment(experiment=ex2, semester=sem2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-07-01 12:41:20 +00:00
|
|
|
db.session.add(sx1)
|
|
|
|
db.session.add(sx2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-07-01 12:41:20 +00:00
|
|
|
gx1 = GroupExperiment(semester_experiment=sx1, group=g1)
|
|
|
|
gx2 = GroupExperiment(semester_experiment=sx2, group=g2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(gx1)
|
|
|
|
db.session.add(gx2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
user_datastore.create_role(name="admin")
|
|
|
|
user_datastore.create_role(name="assistant")
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
user_datastore.create_user(email="admin@protonmail.com", password=hash_password("admin"), roles=["admin"])
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
us1 = user_datastore.create_user(email="test@protonmail.com", password=hash_password("h1"), roles=["assistant"])
|
|
|
|
us2 = user_datastore.create_user(email="test2@protonmail.com", password=hash_password("h2"), roles=["assistant"])
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-06-02 21:43:41 +00:00
|
|
|
as1 = Assistant(
|
|
|
|
first_name="As1",
|
|
|
|
last_name="l",
|
|
|
|
email="test@test.com",
|
|
|
|
phone_number="012333212",
|
|
|
|
mobile_phone_number="012334123",
|
|
|
|
user=us1,
|
|
|
|
)
|
2021-04-03 00:11:26 +00:00
|
|
|
as2 = Assistant(first_name="As2", last_name="l", email="test2@test.com", user=us2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-07-01 12:41:20 +00:00
|
|
|
as1.semester_experiments.append(sx1)
|
|
|
|
as2.semester_experiments.append(sx2)
|
2021-03-18 22:20:59 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(as1)
|
|
|
|
db.session.add(as2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-06-30 23:02:44 +00:00
|
|
|
ap1 = Appointment(date=date(2021, 3, 21), special=True, group_experiment=gx1, assistant=as1)
|
|
|
|
ap2 = Appointment(date=date(2021, 3, 22), special=True, group_experiment=gx2, assistant=as2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(ap1)
|
|
|
|
db.session.add(ap2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
em1 = ExperimentMark(oral_mark=11, protocol_mark=14, part_student=ps1, group_experiment=gx1, assistant=as1)
|
|
|
|
em2 = ExperimentMark(oral_mark=12, protocol_mark=14, part_student=ps2, group_experiment=gx1, assistant=as1)
|
|
|
|
em3 = ExperimentMark(oral_mark=13, protocol_mark=14, part_student=ps3, group_experiment=gx2, assistant=as2)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.add(em1)
|
|
|
|
db.session.add(em2)
|
|
|
|
db.session.add(em3)
|
2021-03-18 13:53:55 +00:00
|
|
|
|
2021-04-03 00:11:26 +00:00
|
|
|
db.session.commit()
|