murattkoc commented on issue #43713:
URL: https://github.com/apache/superset/issues/43713#issuecomment-5477038634
`import os
# --- Branding ---
APP_NAME = "Türksat Atlas"
FAVICONS = [
{
"href": "/static/assets/images/icon.png",
}
]
THEME_DEFAULT = {
"token": {
"brandLogoUrl": "/static/assets/images/turksat.png",
"brandLogoAlt": "Your Company",
"brandLogoHeight": "24px",
"brandSpinnerUrl": "/static/assets/images/my-spinner.svg",
}
}
BABEL_DEFAULT_LOCALE = 'tr'
LANGUAGES = {
'en': {'flag': 'us', 'name': 'English'},
'tr': {'flag': 'tr', 'name': 'Turkish'},
}
BABEL_TRANSLATION_DIRECTORIES = "/app/superset/translations"
FEATURE_FLAGS = {
"ALERT_REPORTS": True,
"ENABLE_TEMPLATE_PROCESSING": True,
"DASHBOARD_RBAC": True
}
SQLALCHEMY_DATABASE_URI =
'postgresql+psycopg2://superset:superset@postgres:5432/superset'
SECRET_KEY = "NoIkYT9QUXBmNSwslPiSkkH+gtqaLJuos3SVF1u3xP3mQwVCSSEp0rQq"
REDIS_HOST = "redis"
REDIS_PORT = "6379"
class CeleryConfig:
broker_url = f"redis://{REDIS_HOST}:{REDIS_PORT}/0"
imports = ("superset.tasks.celery_app",)
result_backend = f"redis://{REDIS_HOST}:{REDIS_PORT}/0"
worker_log_level = "info"
worker_prefetch_multiplier = 1
task_acks_late = True
task_annotations = {
"sql_json": {"rate_limit": "100/s"},
"email_reports.send": {"rate_limit": "1/s"},
}
beat_schedule = {
"reports.scheduler": {
"task": "reports.scheduler",
"schedule": 60.0,
},
"reports.prune_log": {
"task": "reports.prune_log",
"schedule": 3600.0,
},
}
CELERY_CONFIG = CeleryConfig
CELERY_TIMEZONE = "Europe/Istanbul"
TIMEZONE = "Europe/Istanbul"
EMAIL_REPORTS = True
ENABLE_SCHEDULED_EMAIL_REPORTS = True
EMAIL_NOTIFICATIONS = True
CELERY_ENABLE_UTC = False
SMTP_HOST = "posta.turksat.com.tr"
SMTP_PORT = 587
SMTP_USER = "[email protected]"
SMTP_PASSWORD = "dCsa8El2trieGMHCttYk"
SMTP_MAIL_FROM = "[email protected]"
SMTP_STARTTLS = True
SMTP_SSL_SERVER_AUTH = False
SMTP_SSL = False
ALERT_REPORTS_NOTIFICATION_DRY_RUN = False
# Raporların içindeki linklerin doğru çalışması için
WEBDRIVER_BASEURL = "http://superset:8088/"
WEBDRIVER_TYPE = "chrome"
WEBDRIVER_OPTION_ARGS = [
"--headless",
"--no-sandbox",
"--disable-dev-shm-usage",
"--disable-gpu",
"--window-size=1200,800"
]
THUMBNAIL_SELENIUM_USER = "admin"
from superset.translations.utils import get_language_pack
def bootstrap_overrides(bootstrap_data):
bootstrap_data["locale"] = "tr"
bootstrap_data["language_pack"] = get_language_pack("tr")
return bootstrap_data
COMMON_BOOTSTRAP_OVERRIDES_FUNC = bootstrap_overrides
from flask_appbuilder.models.sqla.filters import FilterContains
from flask_appbuilder.security.sqla.apis import PermissionViewMenuApi
from superset.security import SupersetSecurityManager
class SupersetPermissionViewMenuApi(PermissionViewMenuApi):
search_columns = ["id", "permission.name", "view_menu.name"]
def _init_properties(self) -> None:
super()._init_properties()
for col in ["permission.name", "view_menu.name"]:
self._filters._search_filters[col] = [
FilterContains(col, self.datamodel)
]
class CustomSecurityManager(SupersetSecurityManager):
permission_view_menu_api = SupersetPermissionViewMenuApi
CUSTOM_SECURITY_MANAGER = CustomSecurityManager
from flask import g
from flask_appbuilder.security.sqla.models import User
# ------------------------------------------------------------------
# GEÇİCİ: OAuth2 credential'ları gelene kadar RLS için statik
# değerler kullanılır. OAuth2 devreye girdiğinde tek yapılacak:
# get_user_claim() fonksiyonunun gövdesini token/claim okuyacak
# şekilde güncellemek. RLS tanımları (Jinja şablonları) hiç
# değişmeyecek.
# ------------------------------------------------------------------
STATIC_CLAIMS = {
"personel_id": "8949",
# "birim_id": "12",
}
def get_user_claim(claim_name: str, default: str = "-1") -> str:
"""RLS'de: {{ get_user_claim('personel_id') }}, {{
get_user_claim('birim_id') }} ..."""
if not (g.user and g.user.is_authenticated):
return "-1"
return str(STATIC_CLAIMS.get(claim_name, default))
JINJA_CONTEXT_ADDONS = {
"get_user_claim": get_user_claim,
"get_personel_id": lambda: get_user_claim("personel_id"),
}`
my all superset_config.py file. @dosu
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]