> Version 0.6 brings DashMachine one big step forward to being a finished product by adding a gui to edit the various settings in the config.ini. **Changelog** - improvements to /home including 'pinned' cards, multi-select tag filtering, 'action providers' allowing you to do web searches from the searchbar - rebuilt sidenav with list view, mirroring filter/search/collapse state of the homepage - /settings and /home now on same route - dynamic reloading of settings (no more page reloads) - dedicated config.ini editor slide-out - settings editor slide-out - card editor slide-out - better access group control - dedicated documentation pages - improved documentation - new system for automatically generating documentation for platforms - ability to load custom platforms - added an 'on_starup' method for platforms allowing for registering api routes. (example coming soon)
47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
from dashmachine import db, login_manager
|
|
from flask_login import UserMixin
|
|
|
|
|
|
rel_apps_access_groups = db.Table(
|
|
"rel_apps_access_groups",
|
|
db.Column("access_group_id", db.Integer, db.ForeignKey("access_groups.id")),
|
|
db.Column("app_id", db.Integer, db.ForeignKey("apps.id")),
|
|
)
|
|
|
|
|
|
@login_manager.user_loader
|
|
def load_user(user_id):
|
|
return User.query.get(int(user_id))
|
|
|
|
|
|
class User(db.Model, UserMixin):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
username = db.Column(db.String(120), unique=True, nullable=False)
|
|
password = db.Column(db.String(60), nullable=False)
|
|
confirm_password = db.Column(db.String(60))
|
|
role = db.Column(db.String())
|
|
theme = db.Column(db.String())
|
|
background = db.Column(db.String())
|
|
accent = db.Column(db.String())
|
|
tags_expanded = db.Column(db.String())
|
|
|
|
|
|
class AccessGroups(db.Model, UserMixin):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
name = db.Column(db.String())
|
|
roles = db.Column(db.String())
|
|
can_access_home = db.Column(db.String(), default="True")
|
|
can_access_user_settings = db.Column(db.String(), default="True")
|
|
can_access_main_settings = db.Column(db.String(), default="False")
|
|
can_access_card_editor = db.Column(db.String(), default="False")
|
|
can_access_raw_config = db.Column(db.String(), default="False")
|
|
can_access_docs = db.Column(db.String(), default="False")
|
|
can_see_sidenav = db.Column(db.String(), default="True")
|
|
can_edit_users = db.Column(db.String(), default="False")
|
|
can_edit_images = db.Column(db.String(), default="False")
|
|
apps = db.relationship(
|
|
"Apps",
|
|
secondary=rel_apps_access_groups,
|
|
backref=db.backref("access_groups", lazy="dynamic"),
|
|
)
|