diff --git a/superset/jinja_context.py b/superset/jinja_context.py index ff1cb67b23e47..5bcbbd6a472f8 100644 --- a/superset/jinja_context.py +++ b/superset/jinja_context.py @@ -4,15 +4,16 @@ from __future__ import print_function from __future__ import unicode_literals +from datetime import datetime, timedelta import inspect +import random +import time +import uuid + from jinja2.sandbox import SandboxedEnvironment -from flask import request +from flask import request, g -from datetime import datetime, timedelta from dateutil.relativedelta import relativedelta -import time -import uuid -import random from superset import app @@ -40,6 +41,18 @@ def url_param(param, default=None): return request.args.get(param, default) +def current_user_id(): + """The id of the user who is currently logged in""" + if g.user: + return g.user.id + + +def current_username(): + """The username of the user who is currently logged in""" + if g.user: + return g.user.username + + class BaseTemplateProcessor(object): """Base class for database-specific jinja context @@ -67,6 +80,8 @@ def __init__(self, database=None, query=None, table=None, **kwargs): self.schema = table.schema self.context = { 'url_param': url_param, + 'current_user_id': current_user_id, + 'current_username': current_username, } self.context.update(kwargs) self.context.update(BASE_CONTEXT)