diff --git a/cps/admin.py b/cps/admin.py index 3bb747db..a901791f 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -350,6 +350,10 @@ def _configuration_update_helper(): _config_int("config_updatechannel") + # Reverse proxy login configuration + _config_checkbox("config_allow_reverse_proxy_header_login") + _config_string("config_reverse_proxy_login_header_name") + # GitHub OAuth configuration if config.config_login_type == constants.LOGIN_OAUTH: active_oauths = 0 diff --git a/cps/config_sql.py b/cps/config_sql.py index 1ae8f235..e940c450 100644 --- a/cps/config_sql.py +++ b/cps/config_sql.py @@ -106,6 +106,9 @@ class _Settings(_Base): config_updatechannel = Column(Integer, default=constants.UPDATE_STABLE) + config_reverse_proxy_login_header_name = Column(String) + config_allow_reverse_proxy_header_login = Column(Boolean, default=False) + def __repr__(self): return self.__class__.__name__ @@ -250,8 +253,7 @@ class _ConfigSQL(object): for k, v in self.__dict__.items(): if k[0] == '_': continue - if hasattr(s, k): # and getattr(s, k, None) != v: - # log.debug("_Settings save '%s' = %r", k, v) + if hasattr(s, k): setattr(s, k, v) log.debug("_ConfigSQL updating storage") @@ -279,7 +281,13 @@ def _migrate_table(session, orm_class): if sys.version_info < (3, 0): if isinstance(column.default.arg,unicode): column.default.arg = column.default.arg.encode('utf-8') - column_default = "" if column.default is None else ("DEFAULT %r" % column.default.arg) + if column.default is None: + column_default = "" + else: + if isinstance(column.default.arg, bool): + column_default = ("DEFAULT %r" % int(column.default.arg)) + else: + column_default = ("DEFAULT %r" % column.default.arg) alter_table = "ALTER TABLE %s ADD COLUMN `%s` %s %s" % (orm_class.__tablename__, column_name, column.type, diff --git a/cps/templates/admin.html b/cps/templates/admin.html index 17b84f34..a7770c59 100644 --- a/cps/templates/admin.html +++ b/cps/templates/admin.html @@ -1,4 +1,7 @@ {% extends "layout.html" %} +{% macro display_bool_setting(setting_value) -%} + {% if setting_value %}{% else %}{% endif %} +{%- endmacro %} {% block body %}