class CourierType(db.Model): id = db.Column(db.Integer, primary_key = True) name = db.Column(db.String(140), unique = True) courierBalanceId = db.Column(db.Integer, db.ForeignKey('courier.id')) def __init__(self, name = None): super(CourierType, self).__init__(name = None) self.name = name def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class OperationStatus(db.Model): id = db.Column(db.Integer, primary_key = True) name = db.Column(db.String(140), unique = True) operationId = db.Column(db.Integer, db.ForeignKey('operation.id')) def __init__(self, name = None): super(OperationStatus, self).__init__(name = None) self.name = name def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class DestinationType(db.Model): id = db.Column(db.Integer, primary_key = True) name = db.Column(db.String(140), unique = True) destinationTypeId = db.Column(db.Integer, db.ForeignKey('issuePoint.id')) def __init__(self, name = None): super(DestinationType, self).__init__(name = None) self.name = name def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class OrderType(db.Model): id = db.Column(db.Integer, primary_key = True) name = db.Column(db.String(140), unique = True) orderId = db.Column(db.Integer, db.ForeignKey('order.id')) def __init__(self, name = None): super(OrderType, self).__init__(name = None, orderId = None) self.name = name self.orderId = orderId def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class CourierType(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(140), unique=True) courier = db.relationship('Courier', uselist=False, backref=db.backref('courierType')) def __init__(self, name=None): super(CourierType, self).__init__(name=None) self.name = name def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class OperationStatus(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(140), unique=True) issuePoint = db.relationship('Operation', uselist=False, backref=db.backref('operationStatus')) def __init__(self, name=None): super(OperationStatus, self).__init__(name=None) self.name = name def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class post(db.Model): id = db.Column(db.Integer, primary_key = True) title = db.Column(db.String(140)) slug = db.Column(db.String(140), unique = True) body = db.Column(db.Text) created = db.Column(db.DateTime, default = datetime.now()) def __init__(self, *args, **kwargs): super(post, self).__init__(*args, **kwargs) self.generate_slug() def generate_slug(self): if self.title: self.slug = slugify(self.title) def __repr__(self): return '<Post: id {}, title: {}>'.format(self.id, self.title)
class Manager(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(140), unique=True) name = db.Column(db.String(140)) surname = db.Column(db.String(140)) patronymic = db.Column(db.String(140)) password = db.Column(db.String(140)) phoneNumber = db.Column(db.String(140)) photoUrl = db.Column(db.String(140)) personalInformation = db.relationship('PersonalInformation', uselist=False, backref=db.backref('manager')) documentsPhoto = db.relationship('DocumentsPhoto', uselist=False, backref=db.backref('manager')) lastSeen = db.Column(db.DateTime) def __init__(self, name=None, surname=None, patronymic=None, phoneNumber=None, photoUrl=None, email=None, password=None): super(Manager, self).__init__(name = None, surname = None, patronymic = None, phoneNumber = None, \ photoUrl = None, email = None, password = None) self.name = name self.surname = surname self.patronymic = patronymic self.phoneNumber = phoneNumber self.email = email self.password = password def is_authenticated(self): return True def is_active(self): return True def is_anonymous(self): return False def get_id(self): try: return unicode(self.id) #python 2 except NameError: return str(self.id) #python 3 def __repr__(self): return '<Id: {}.\nManager\n{} {} {}. Phone number: {}\n{}>'.format( self.id, self.surname, self.name, self.patronymic, self.phoneNumber, self.email)
class DestinationType(db.Model): __tablename__ = 'destinationType' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(140), unique=True) issuePoint = db.relationship('IssuePoint', uselist=False, backref=db.backref('destinationType')) def __init__(self, name=None): super(DestinationType, self).__init__(name=None) self.name = name def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class OrderStatus(db.Model): __tablename__ = 'orderStatus' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(140), unique=True) orders = db.relationship('Order', uselist=False, backref=db.backref('orderStatus')) def __init__(self, name=None): super(OrderStatus, self).__init__(name=None) self.name = name def __repr__(self): return '<Id: {}. Name: {}>'.format(self.id, self.name)
class Order(db.Model): __tablename__ = 'order' id = db.Column(db.Integer, primary_key=True) typeId = db.Column(db.Integer, db.ForeignKey('orderType.id')) clientId = db.Column(db.Integer, db.ForeignKey('client.id')) courierId = db.Column(db.Integer, db.ForeignKey('courier.id')) statusId = db.Column(db.Integer, db.ForeignKey('orderStatus.id')) issuePointId = db.Column(db.Integer, db.ForeignKey('issuePoint.id')) numberOfAddresses = db.Column(db.Integer) informationAboutAddresses = db.Column(db.Text) dateOfCreation = db.Column(db.DateTime) description = db.Column(db.Text) photoUrl = db.Column(db.String(250)) #dateOfCompletion = db.Column(db.DateTime) cost = db.Column(db.Integer) operations = db.relationship('Operation', backref=db.backref('order')) def __init__(self, typeId = None, clientId = None, statusId = None, issuePointId = None, numberOfAddresses = None, \ informationAboutAddresses = None, description = None, photoUrl = None, cost = None): super(Order, self).__init__(typeId = None, clientId = None, statusId = None, issuePointId = None, numberOfAddresses = None, \ informationAboutAddresses = None, description = None, photoUrl = None, cost = None) self.typeId = typeId self.clientId = clientId #self.courierId = courierId self.statusId = statusId self.issuePointId = issuePointId self.numberOfAddresses = numberOfAddresses self.informationAboutAddresses = informationAboutAddresses #self.dateOfCreation = datetime.utcnow() self.description = description self.photoUrl = photoUrl #self.dateOfCompletion = dateOfCompletion self.cost = cost def is_active(self): return True def get_id(self): try: return unicode(self.id) #python 2 except NameError: return str(self.id) #python 3 def __repr__(self): return '<{}. {}>'.format(self.id, self.description)
class Client(db.Model): __tablename__ = 'client' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(140), unique=True) name = db.Column(db.String(140)) surname = db.Column(db.String(140)) patronymic = db.Column(db.String(140)) password = db.Column(db.String(140)) phoneNumber = db.Column(db.String(140)) photoUrl = db.Column(db.String(140)) orders = db.relationship('Order', backref=db.backref('client')) lastSeen = db.Column(db.DateTime) def __init__(self, name=None, surname=None, patronymic=None, phoneNumber=None, photoUrl=None, email=None, password=None): super(Client, self).__init__(name = None, surname = None, patronymic = None, phoneNumber = None, \ photoUrl = None, email = None, password = None) self.name = name self.surname = surname self.patronymic = patronymic self.phoneNumber = phoneNumber self.photoUrl = photoUrl self.email = email self.password = password def is_authenticated(self): return True def is_active(self): return True def is_anonymous(self): return False def get_id(self): try: return unicode(self.id) #python 2 except NameError: return str(self.id) #python 3 def __repr__(self): return '<Id: {}. {} {} {}. Phone number: {}\n{}>'.format( self.id, self.surname, self.name, self.patronymic, self.phoneNumber, self.email)
class Courier(db.Model): __tablename__ = 'courier' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(140), unique=True) name = db.Column(db.String(140)) surname = db.Column(db.String(140)) patronymic = db.Column(db.String(140)) password = db.Column(db.String(140)) phoneNumber = db.Column(db.String(140)) photoUrl = db.Column(db.String(140)) orders = db.relationship('Order', backref=db.backref('courier')) operations = db.relationship('Operation', backref=db.backref('courier')) courierBalance = db.Column(db.Integer) personalInformationId = db.Column(db.Integer, db.ForeignKey('personalInformation.id')) #db.relationship('PersonalInformation', uselist = False, backref = db.backref('courier')) documentsPhotoId = db.Column(db.Integer, db.ForeignKey('documentsPhoto.id')) #db.relationship('DocumentsPhoto', uselist = False, backref = db.backref('courier')) lastSeen = db.Column(db.DateTime) courierTypeId = db.Column(db.Integer, db.ForeignKey('courierType.id')) def __init__(self, name = None, surname = None, patronymic = None, phoneNumber = None, photoUrl = None, \ email = None, password = None, courierTypeId = None, personalInformationId = None, \ documentsPhotoId = None, courierBalance = None): super(Courier, self).__init__(name = None, surname = None, patronymic = None, phoneNumber = None, \ photoUrl = None, email = None, password = None, courierTypeId = None, personalInformationId = None, \ documentsPhotoId = None, courierBalance = None) self.name = name self.surname = surname self.patronymic = patronymic self.phoneNumber = phoneNumber self.photoUrl = photoUrl self.email = email self.password = password self.courierTypeId = courierTypeId self.personalInformationId = personalInformationId self.documentsPhotoId = documentsPhotoId self.courierBalance = courierBalance def __repr__(self): return '<Id: {}. {} {} {}. Phone number: {}\n{}. \n\nPersonalInformation: {}\nDocumentsPhotoId:{}\nBalance: {}>'.format(self.id, \ self.surname, self.name, self.patronymic, self.phoneNumber, self.email, self.personalInformationId, \ self.documentsPhotoId, self.courierBalance)