Upgrade allow adding image in ticket details page comment section
This commit is contained in:
+46
-1
@@ -308,4 +308,49 @@ class KBAttachment(db.Model):
|
||||
return f'/admin/kb/files/{self.stored_name}'
|
||||
|
||||
def __repr__(self):
|
||||
return f'<KBAttachment {self.filename}>'
|
||||
return f'<KBAttachment {self.filename}>'
|
||||
|
||||
|
||||
class SystemSetting(db.Model):
|
||||
"""Key-value store for application-wide configuration flags.
|
||||
|
||||
Values are persisted as strings; helper class methods handle
|
||||
typed access so callers never touch raw strings directly.
|
||||
"""
|
||||
__tablename__ = 'system_settings'
|
||||
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
key = db.Column(db.String(100), unique=True, nullable=False, index=True)
|
||||
value = db.Column(db.String(500), nullable=False)
|
||||
description = db.Column(db.String(256))
|
||||
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
@classmethod
|
||||
def get(cls, key, default=None):
|
||||
"""Return the raw string value for *key*, or *default* if absent."""
|
||||
row = cls.query.filter_by(key=key).first()
|
||||
return row.value if row else default
|
||||
|
||||
@classmethod
|
||||
def get_bool(cls, key, default=True):
|
||||
"""Return the value for *key* coerced to bool."""
|
||||
raw = cls.get(key)
|
||||
if raw is None:
|
||||
return default
|
||||
return raw.lower() in ('1', 'true', 'yes', 'on')
|
||||
|
||||
@classmethod
|
||||
def set(cls, key, value, description=None):
|
||||
"""Upsert *key* = *value*. Caller is responsible for committing."""
|
||||
row = cls.query.filter_by(key=key).first()
|
||||
if row:
|
||||
row.value = str(value)
|
||||
if description is not None:
|
||||
row.description = description
|
||||
else:
|
||||
row = cls(key=key, value=str(value), description=description)
|
||||
db.session.add(row)
|
||||
return row
|
||||
|
||||
def __repr__(self):
|
||||
return f'<SystemSetting {self.key}={self.value}>'
|
||||
Reference in New Issue
Block a user