Enhance Article editor
This commit is contained in:
@@ -262,3 +262,27 @@ class KnowledgeBase(db.Model):
|
||||
|
||||
def __repr__(self):
|
||||
return f'<KnowledgeBase {self.title}>'
|
||||
|
||||
|
||||
class KBAttachment(db.Model):
|
||||
"""Files and images attached to a Knowledge Base article."""
|
||||
__tablename__ = 'kb_attachments'
|
||||
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
article_id = db.Column(db.Integer, db.ForeignKey('knowledge_base.id'), nullable=False)
|
||||
filename = db.Column(db.String(256), nullable=False) # original name
|
||||
stored_name = db.Column(db.String(256), nullable=False) # UUID-based on disk
|
||||
mime_type = db.Column(db.String(100))
|
||||
file_size = db.Column(db.Integer)
|
||||
uploaded_by = db.Column(db.Integer, db.ForeignKey('users.id'))
|
||||
uploaded_at = db.Column(db.DateTime, default=datetime.utcnow)
|
||||
|
||||
article = db.relationship('KnowledgeBase', backref=db.backref('attachments', lazy='dynamic', cascade='all, delete-orphan'))
|
||||
uploader = db.relationship('User', foreign_keys=[uploaded_by])
|
||||
|
||||
@property
|
||||
def url(self):
|
||||
return f'/admin/kb/files/{self.stored_name}'
|
||||
|
||||
def __repr__(self):
|
||||
return f'<KBAttachment {self.filename}>'
|
||||
Reference in New Issue
Block a user