def __init__(self, *args, **kwargs): """ Overrides the __init__ to fill the form initial data from database """ user = kwargs.get('user', None) initial = {} for field_name, obj in self.base_fields.items(): if user: initial[field_name] = Setting.get_setting(user, field_name) else: initial[field_name] = AdminSetting.get_setting(field_name) kwargs['initial'] = initial super(BaseSettingForm, self).__init__(*args, **kwargs) self.user = user
def initialize(self, request, response): """initial webapp.RequestHandler""" webapp.RequestHandler.initialize(self, request, response) if not self.request.path.endswith('/'): return self.redirect(self.request.path + "/", True) self.setting = Setting.get_setting() self.template_value = {'setting' : self.setting} # check cookies and find user cookies = parse_cookie(self.request.headers.get("Cookie", "")) self.session_key = cookies.get('bitsable-session-key', None) self.user = None if self.session_key is not None and len(self.session_key) == 40: logging.info("session_key:%s" % self.session_key) self.user = Session.get_user_by_session(self.session_key) self.template_value['user'] = self.user
def user_setting_value(name): """Print user setting value to template""" return Setting.get_setting(user, name)