class Pays(dbase.Model): __tablename__ = "pays" paysID = dbase.Column(dbase.Integer, primary_key=True, autoincrement= True) issued_by = dbase.Column(dbase.String(60)) reference_no = dbase.Column(dbase.String(60)) or_no = dbase.Column(dbase.String(60)) # rent = dbase.Column(dbase.Float) sCharge = dbase.Column(dbase.Float) month = dbase.Column(dbase.String(20)) remark = dbase.Column(dbase.String(20)) amount = dbase.Column(dbase.Float) total = dbase.Column(dbase.Float) date_issued =dbase.Column(dbase.DATE) tenantID = dbase.Column(dbase.Integer,dbase.ForeignKey("tenants.tenantID"), nullable=True) stallID = dbase.Column(dbase.Integer, dbase.ForeignKey("stalls.stallID"), nullable=True) def __init__(self, issued_by,or_no,sCharge, tenantID, stallID,month, amount,total,date_issued, remark): self.issued_by = issued_by self.or_no = or_no # self.rent = rent self.sCharge = sCharge self.tenantID = tenantID self.stallID = stallID self.month = month self.amount = amount self.total = total self.date_issued = date_issued self.remark = remark def __repr__(self): return '< issued_by{}>'.format(self.issued_by)
class userInfo(UserMixin, dbase.Model): id = dbase.Column(dbase.Integer, primary_key=True) email = dbase.Column(dbase.String(50)) username = dbase.Column(dbase.String(50), unique=True) password = dbase.Column(dbase.String(100)) def __init__(self, email, username, password): self.email = email self.username = username self.password = password
class Item(dbase.Model): __tablename__ = "items" item_id = dbase.Column(dbase.Integer, primary_key=True) item_name = dbase.Column(dbase.String(50)) category = dbase.Column(dbase.String(50)) status = dbase.Column(dbase.String(50)) quantity = dbase.Column(dbase.Integer) def __init__(self, item_name='', status='', category='', quantity=''): self.item_name = item_name self.status = status self.category = category self.quantity = quantity
class products(dbase.Model): __bind_key__ = 'itemPool' __tablename__ = 'products' id = dbase.Column('productID', dbase.Integer, primary_key=True) itemName = dbase.Column('itemName', dbase.String(45), nullable=True) itemDesc = dbase.Column('itemDesc', dbase.Text(4294000000), nullable=True) rarity = dbase.Column(dbase.Integer, nullable=True) type = dbase.Column(dbase.String(45), nullable=True) wares = dbase.relationship('wares', backref='products', lazy=True) def __init__(self, name, desc, rarity, type): self.itemName = name self.itemDesc = desc self.rarity = rarity self.type = type
class merchants(dbase.Model): __bind_key__ = 'itemPool' __tablename__ = 'merchants' id = dbase.Column('merchantID', dbase.Integer, primary_key=True) name = dbase.Column(dbase.String(45), nullable=True) type = dbase.Column(dbase.String(45), nullable=True) location = dbase.Column(dbase.String(45), nullable=True) wares = dbase.relationship('wares', backref='merchants', lazy=True, cascade='all, delete') def __init__(self, name, type, location): self.name = name self.type = type self.location = location
class User(UserMixin, dbase.Model): __tablename__ = 'user' id = dbase.Column(dbase.Integer, primary_key=True) contact = dbase.Column(dbase.String(15), nullable=False) firstname = dbase.Column(dbase.String(50), nullable=False) lastname = dbase.Column(dbase.String(50), nullable=False) email = dbase.Column(dbase.String(50), nullable=False) username = dbase.Column(dbase.String(50), nullable=False) password = dbase.Column(dbase.String(200), nullable=False) rfid = dbase.Column(dbase.String(200), nullable=False) def __init__(self, contact='', firstname='', lastname='', email='', username='', password='', rfid=''): self.contact = contact self.firstname = firstname self.lastname = lastname self.email = email self.username = username self.password = generate_password_hash(password, method='sha256') self.rfid = generate_password_hash(rfid, method='sha256')
class Tenants(dbase.Model): __tablename__ = "tenants" tenantID = dbase.Column(dbase.Integer, primary_key= True, autoincrement=True) contact_no = dbase.Column(dbase.String(12)) first_name = dbase.Column(dbase.String(24)) mid_name = dbase.Column(dbase.String(24)) last_name = dbase.Column(dbase.String(24)) present_addr = dbase.Column(dbase.String(60)) tenant_photo = dbase.Column(dbase.String(60)) tenant_status = dbase.Column(dbase.String(2)) stallID = dbase.Column(dbase.Integer, dbase.ForeignKey("stalls.stallID"), nullable=True) balance = dbase.Column(dbase.Float) def __init__(self,contact_no, first_name, mid_name, last_name, present_addr, stallID): self.first_name = first_name self.mid_name = mid_name self.last_name = last_name self.contact_no = contact_no self.present_addr = present_addr self.stallID = stallID self.tenant_status = '1' self.balance = 0.0 def __repr__(self): return '<last_name {}>'.format(self.last_name)
class Stalls(dbase.Model): __tablename__ = 'stalls' stallID = dbase.Column(dbase.Integer, primary_key=True, autoincrement= True) stall_no = dbase.Column(dbase.Integer) stall_rate = dbase.Column(dbase.Integer) stall_loc = dbase.Column(dbase.String(60)) stall_status = dbase.Column(dbase.String(60)) typeID = dbase.Column(dbase.Integer, dbase.ForeignKey("types.typeID"), nullable= False) # branchID = dbase.Column(dbase.Integer, dbase.ForeignKey("branch.branchID"), nullable=False) t_stall_no = relationship("Tenants", backref="stallNO", lazy="dynamic" ) def __init__ (self,stall_rate, stall_loc, stall_status, stall_no, typeID): self.stall_rate =stall_rate self.stall_status = '0' self.stall_loc = stall_loc self.stall_no = stall_no # self.branchID = branchID self.typeID = typeID def __repr__(self): return '<stall_rate{}>'.format(self.stall_rate)
class Logs(dbase.Model): __tablename__ = "logs" logID = dbase.Column(dbase.Integer, primary_key=True, autoincrement=True) details = dbase.Column(dbase.String(60)) log_date =dbase.Column(dbase.DateTime) def __init__(self, details, log_date): self.details = details self.log_date = log_date def __repr__(self): return '<details{}>'.format(self.logID)
class Branch(dbase.Model): __tablename__ = "branch" branchID = dbase.Column(dbase.Integer, primary_key= True) branch_loc = dbase.Column(dbase.String(60)) branch_logo = dbase.Column(dbase.String(60)) def __init__(self, branch_loc, branch_logo): self.branch_loc = branch_loc self.branch_logo = branch_logo def __repr__(self): return '<branch_loc {}>'.format(self.branch_loc) @staticmethod def branch_types(): brLoc = ['Palao'] for b in brLoc: loc = Branch.query.filter_by(branch_loc = b).first() if loc is None: loc = Branch(branch_loc= b, branch_logo='Default') dbase.session.add(loc) dbase.session.commit()
class Notification(dbase.Model): __tablename__ = 'notification' id = dbase.Column(dbase.Integer, primary_key=True, autoincrement=True) name = dbase.Column(dbase.String(60)) tenant_id = dbase.Column(dbase.Integer) stall_id = dbase.Column(dbase.Integer) description = dbase.Column(dbase.String(60)) seen = dbase.Column(dbase.Integer, nullable=False) status = dbase.Column(dbase.Integer, nullable=False) date = dbase.Column(dbase.DateTime) def __init__(self, name, description, date, tenant_id, stall_id): self.name = name self.description = description self.date = date self.seen = 0 self.status = 1 self.tenant_id = tenant_id self.stall_id = stall_id def __repr__(self): return '<name{}>'.format(self.name)
class Users(dbase.Model): __tablename__ = "users" userID = dbase.Column(dbase.Integer, primary_key=True, autoincrement=True) roleID = dbase.Column(dbase.Integer) username = dbase.Column(dbase.String(20), unique=True) passwrd = dbase.Column(dbase.String(255)) contact_no = dbase.Column(dbase.String(12)) first_name = dbase.Column(dbase.String(24)) mid_name = dbase.Column(dbase.String(24)) last_name = dbase.Column(dbase.String(24)) # branchID = dbase.Column(dbase.Integer, dbase.ForeignKey("branch.branchID"), nullable=False) def __init__(self, roleID, username, passwrd, contact_no, first_name, mid_name, last_name): self.roleID = roleID self.username = username self.passwrd = generate_password_hash(passwrd) self.first_name = first_name self.mid_name = mid_name self.last_name = last_name self.contact_no = contact_no # self.branchID = branchID def is_authenticated(self): return True def is_anonymous(self): return False def is_active(self): return True def getRole_id(self): return self.roleID def get_id(self): return self.userID def __repr__(self): return '<roleID {}>'.format(self.roleID) @staticmethod def verify_token(token): s = Serializer(app.config['SECRET_KEY']) try: data = s.loads(token) except: return None id = data.get('user') if id: return Users.query.get(id) return None
class Types(dbase.Model): __tablename__ = 'types' typeID = dbase.Column(dbase.Integer, primary_key=True, autoincrement=True) stall_type = dbase.Column(dbase.String(60)) def __index__(self, stall_type): self.stall_type = stall_type def __repr__(self): return '<stall_type{}>'.format(self.stall_type) @staticmethod def stall_types(): stypes = ['Carenderia', 'Stall2', 'Stall3'] for s in stypes: tyype = Types.query.filter_by(stall_type=s).first() if tyype is None: tyype = Types(stall_type=s) dbase.session.add(tyype) dbase.session.commit()