Files
api2/api/models/designer.py
T
2022-03-25 10:51:54 +01:00

69 lines
2.6 KiB
Python

# 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)
enable_retouch = db.Column(db.Integer(), nullable=False, default=1)
pricepremium_wallpaper = db.Column(db.Numeric(), nullable=False, default=0)
pricepremium_canvas = db.Column(db.Numeric(), nullable=False, default=0)
pricepremium_poster = db.Column(db.Numeric(), nullable=False, default=0)
pricepremium_framed_print = 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,
}