You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.3 KiB
38 lines
1.3 KiB
from flask_login import current_user
|
|
|
|
from models.distribusi_model import Distribusis
|
|
from models.user_model import User
|
|
|
|
|
|
class DistribusisInfo:
|
|
def user_distribusinames():
|
|
distribusinames = []
|
|
user = User.query.filter_by(email=current_user.email).first()
|
|
for distribusi in Distribusis.query.filter_by(userid=user.id).all():
|
|
distribusinames.append(distribusi.distribusiname)
|
|
return distribusinames
|
|
|
|
def public_themes():
|
|
publicthemes = []
|
|
distribusis = Distribusis.query.filter(
|
|
Distribusis.publictheme.isnot(None)
|
|
).all()
|
|
for distribusi in distribusis:
|
|
user = User.query.filter_by(id=distribusi.userid).first()
|
|
publictheme = (
|
|
f"{distribusi.distribusiname}/{distribusi.publictheme}",
|
|
f"""{distribusi.publictheme} used in {distribusi.distribusiname}
|
|
made by {user.username}""",
|
|
)
|
|
publicthemes.append(publictheme)
|
|
return publicthemes
|
|
|
|
def visible_distribusis():
|
|
distribusis = Distribusis.query.filter(
|
|
Distribusis.visible.isnot(False)
|
|
).all()
|
|
return distribusis
|
|
|
|
def get_user_distribusis(useremail):
|
|
user = User.query.filter_by(email=useremail).first()
|
|
return Distribusis.query.filter_by(userid=user.id).all()
|
|
|