class Staff(db.Model): id = db.Column(db.Integer, primary_key=True) staff_name = db.Column(db.String(50), unique=True, nullable=False) ownership_date = db.Column(db.DateTime, nullable=True) comp_id = db.Column(db.Integer, db.ForeignKey('computer.serial_number')) def __repr__(self): return f"Staff('{self.staff_name}', '{self.ownership_date}'"
class Computer(db.Model): serial_number = db.Column(db.String(10), primary_key=True) computer_color = db.Column(db.String(50), unique=True, nullable=False) memory = db.Column(db.String(50), nullable=False) processor = db.Column(db.String(50), nullable=False) delivery_date = db.Column(db.DateTime, nullable=False) company_id = db.Column(db.Integer, db.ForeignKey('company.id')) staff = db.relationship('Staff', backref='computer', lazy=True) issues = db.relationship('Issue', secondary=issues, lazy='subquery', backref=db.backref('computer', lazy=True)) #user = db.relationship('User', backref='username', lazy=True) def __repr__(self): return f"Computer('{self.serial_number}', '{self.computer_color}', '{self.memory}', '{self.processor}', '{self.delivery_date}'"
class Asset(db.Model): serial_number = db.Column(db.String(10), primary_key=True) asset_category = db.Column(db.String(20), nullable=False) model_name = db.Column(db.String(20), nullable=False) series_name = db.Column(db.String(20)) asset_color = db.Column(db.String(50), nullable=False) memory = db.Column(db.String(50)) processor = db.Column(db.String(50)) location = db.Column(db.String(50), nullable=False) status = db.Column(db.String(10), nullable=False) delivery_date = db.Column(db.String(30), nullable=False) condition = db.relationship("Condition", secondary=conditions, lazy='subquery', backref=db.backref('assets', lazy=True)) assigned_id = db.Column(db.Integer, db.ForeignKey('assigned_to.id')) def __repr__(self): return f"Asset('{self.serial_number}', '{self.catalogue}', '{self.model_name}', '{self.asset_color}', '{self.memory}', '{self.processor}', '{self.location}', '{self.department}', '{self.assigned_to}', '{self.status}', '{self.delivery_date}', '{self.assigned_date}', '{self.condition}')"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(100), unique=True, nullable=False) password = db.Column(db.String(60), nullable=False) def __repr__(self): return f"User('{self.username}', '{self.email}')" conditions = db.Table( 'conditions', db.Column('condition_id', db.Integer, db.ForeignKey('condition.id'), primary_key=True), db.Column('asset_id', db.String(10), db.ForeignKey('asset.serial_number'), primary_key=True)) class Asset(db.Model): serial_number = db.Column(db.String(10), primary_key=True) asset_category = db.Column(db.String(20), nullable=False) model_name = db.Column(db.String(20), nullable=False) series_name = db.Column(db.String(20)) asset_color = db.Column(db.String(50), nullable=False) memory = db.Column(db.String(50)) processor = db.Column(db.String(50))
@login_manager.user_loader def load_user(user_id): return User.query.get(int(user_id)) class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(20), unique=True, nullable=False) password = db.Column(db.String(60), nullable=False) def __repr__(self): return f"User('{self.username}', '{self.email}')" issues = db.Table('issues', db.Column('issue_id', db.Integer, db.ForeignKey('issue.id'), primary_key=True), db.Column('computer_id', db.Integer, db.ForeignKey('computer.serial_number'), primary_key=True) ) class Computer(db.Model): serial_number = db.Column(db.String(10), primary_key=True) computer_color = db.Column(db.String(50), unique=True, nullable=False) memory = db.Column(db.String(50), nullable=False) processor = db.Column(db.String(50), nullable=False) delivery_date = db.Column(db.DateTime, nullable=False) company_id = db.Column(db.Integer, db.ForeignKey('company.id')) staff = db.relationship('Staff', backref='computer', lazy=True) issues = db.relationship('Issue', secondary=issues, lazy='subquery', backref=db.backref('computer', lazy=True)) #user = db.relationship('User', backref='username', lazy=True) def __repr__(self):