Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from galaxypi import db
- from galaxypi.users import constants as USER
- from sqlalchemy.orm import validates
- from flask.ext.login import UserMixin
- ERROR_MSG = 'Empty fields are not allowed'
- class User(db.Model, UserMixin):
- id = db.Column(db.Integer, primary_key = True)
- company = db.Column(db.String(50))
- first_name = db.Column(db.String(50), nullable=False)
- last_name = db.Column(db.String(50), nullable=False)
- mobile = db.Column(db.Integer)
- email = db.Column(db.String(120), unique=True, nullable=False)
- password = db.Column(db.String(30), nullable=False)
- myadd = db.relationship('Address', back_populates='myuser')
- def __init__(self, company, first_name, last_name, mobile, email, password):
- self.company = company
- self.first_name = first_name
- self.last_name = last_name
- self.mobile = mobile
- self.email = email
- self.password = password
- @validates('company')
- def validate_company(self, key, value):
- assert value, ERROR_MSG
- return value
- @validates('first_name')
- def validate_first_name(self, key, value):
- assert value, ERROR_MSG
- return value
- @validates('last_name')
- def validate_last_name(self, key, value):
- assert value, ERROR_MSG
- return value
- @validates('mobile')
- def validate_mobile(self, key, value):
- assert value, ERROR_MSG
- return value
- @validates('password')
- def validate_password(self, key, password):
- if not len(password):
- assert len(password) != 0, ERROR_MSG
- return password
- else:
- assert len(password) > 5, 'Password should be more than 5 characters long'
- return password
- class Address(db.Model):
- id = db.Column(db.Integer, primary_key = True)
- address = db.Column(db.String(120), nullable=False)
- landmark = db.Column(db.String(120), nullable=False)
- add_id = db.Column(db.Integer, db.ForeignKey('user.id'))
- myuser = db.relationship('User', back_populates='myadd', foreign_keys='Address.add_id')
- def __init__(self, address, landmark):
- self.address = address
- self.landmark = landmark
- @validates('address')
- def validate_address(self, key, value):
- assert len(value) != 0
- return value
- @validates('landmark')
- def validate_landmark(self, key, value):
- assert len(value) != 0
- return value
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement