# coding=UTF-8 from api.extensions import db from api.lib.slugify import slugify class Designer(db.Model): __tablename__ = 'designers' id = db.Column('designerid', db.Integer, primary_key=True) commission = db.Column(db.Integer(), nullable=False) commission_resale = db.Column(db.Integer(), nullable=False) currency = db.Column(db.String(3), nullable=False) name = db.Column(db.String(100), nullable=False) no_follow = db.Column(db.Integer(), nullable=True, default=0) path = db.Column(db.String(100), nullable=False) sort_desc = db.Column(db.Boolean(), nullable=False, default=False) territory = db.Column(db.String(2), nullable=False) username = db.Column(db.String(100), nullable=False) visible_designerpage = db.Column(db.Integer(), nullable=False, default=1) visible_list = db.Column(db.Integer(), nullable=False, default=1) visible_productpage = db.Column(db.Integer(), nullable=False, default=1) visible_search = db.Column(db.Integer(), nullable=False, default=1) pricepremium = db.Column(db.Numeric(), nullable=False, default=0) def __init__(self, name, username, territory, currency, *args, **kwargs): super(Designer, self).__init__(*args, **kwargs) self.name = name self.username = username self.territory = territory self.currency = currency self.commission = 0 self.commission_resale = 0 self.path = slugify(name) @property def send_to_bottom(self): if self.sort_desc: return 1 return 0 @property def exclude_from_overview(self): if self.visible_list == 1: return 0 return 1 def to_json(self): return { 'id': self.id, 'commission': self.commission, 'commission_resale': self.commission_resale, 'currency': self.currency, 'name': self.name, 'no_follow': self.no_follow, 'path': self.path, 'sort_desc': 1 if self.sort_desc else 0, 'territory': self.territory, 'username': self.username, 'visible_designerpage': self.visible_designerpage, 'visible_list': self.visible_list, 'visible_productpage': self.visible_productpage, 'visible_search': self.visible_search, }