def create_default_settings(app): title = app.config["SiteTitle"] settings = DBSiteSettings(title=title, subtitle=app.config["SiteSubTitle"], owner=app.config["OwnerEmail"], version=DBSiteSettings.VERSION) settings.id = 1 from apis import User, Post, Category home = Category.default_category() owner = User.get_user_by_email(app.config["OwnerEmail"]) if not owner: owner = User.create_user(email=app.config["OwnerEmail"], password=app.config["DefaultPassword"], role="Owner") post = Post.get_by_id(1) if not post: Post.create_post(owner, home, title=common.Welcome_Title % title, body=common.Welcome_Post % title) settings.inited = True settings.save() return settings
def login_user(email, password, remember=False): """check and login user""" user = User.check_user(email, password) if user and user.is_active(): _login_user(user, remember) return user return False
def render_template(template_name_or_list, **context): """add "user" and "settings" for every response""" context.update({ "user": User.get_current_user(), "settings": get_site_settings(), }) return flask_render_template(template_name_or_list, **context)
def load_user(user_id): """flask.login user_loader callback""" return User.load_user(user_id)