dict instead of {} where possible
This commit is contained in:
@@ -1 +1 @@
|
||||
Version 2.00.1 (2012-08-28 22:14:54) rc4
|
||||
Version 2.00.1 (2012-08-29 07:27:23) rc4
|
||||
|
||||
+27
-27
@@ -2025,7 +2025,7 @@ class SpatiaLiteAdapter(SQLiteAdapter):
|
||||
|
||||
import copy
|
||||
types = copy.copy(BaseAdapter.types)
|
||||
types.update({'geometry': 'GEOMETRY'})
|
||||
types.update(geometry='GEOMETRY')
|
||||
|
||||
def __init__(self, db, uri, pool_size=0, folder=None, db_codec ='UTF-8',
|
||||
credential_decoder=IDENTITY, driver_args={},
|
||||
@@ -2263,12 +2263,12 @@ class MySQLAdapter(BaseAdapter):
|
||||
raise SyntaxError, 'Database name required'
|
||||
port = int(m.group('port') or '3306')
|
||||
charset = m.group('charset') or 'utf8'
|
||||
driver_args.update(dict(db=db,
|
||||
user=credential_decoder(user),
|
||||
passwd=credential_decoder(password),
|
||||
host=host,
|
||||
port=port,
|
||||
charset=charset))
|
||||
driver_args.update(db=db,
|
||||
user=credential_decoder(user),
|
||||
passwd=credential_decoder(password),
|
||||
host=host,
|
||||
port=port,
|
||||
charset=charset)
|
||||
def connect(driver_args=driver_args):
|
||||
return self.driver.connect(**driver_args)
|
||||
self.pool_connection(connect)
|
||||
@@ -3114,9 +3114,9 @@ class SybaseAdapter(MSSQLAdapter):
|
||||
|
||||
dsn = 'sybase:host=%s:%s;dbname=%s' % (host,port,db)
|
||||
|
||||
driver_args.update(dict(user = credential_decoder(user),
|
||||
password = credential_decoder(password),
|
||||
locale = charset))
|
||||
driver_args.update(user = credential_decoder(user),
|
||||
password = credential_decoder(password),
|
||||
locale = charset)
|
||||
|
||||
def connect(dsn=dsn,driver_args=driver_args):
|
||||
return self.driver.connect(dsn,**driver_args)
|
||||
@@ -3225,11 +3225,11 @@ class FireBirdAdapter(BaseAdapter):
|
||||
if not db:
|
||||
raise SyntaxError, 'Database name required'
|
||||
charset = m.group('charset') or 'UTF8'
|
||||
driver_args.update(dict(dsn='%s/%s:%s' % (host,port,db),
|
||||
user = credential_decoder(user),
|
||||
password = credential_decoder(password),
|
||||
charset = charset))
|
||||
|
||||
driver_args.update(dsn='%s/%s:%s' % (host,port,db),
|
||||
user = credential_decoder(user),
|
||||
password = credential_decoder(password),
|
||||
charset = charset)
|
||||
|
||||
def connect(driver_args=driver_args):
|
||||
return self.driver.connect(**driver_args)
|
||||
self.pool_connection(connect)
|
||||
@@ -3291,11 +3291,11 @@ class FireBirdEmbeddedAdapter(FireBirdAdapter):
|
||||
if not charset:
|
||||
charset = 'UTF8'
|
||||
host = ''
|
||||
driver_args.update(dict(host=host,
|
||||
database=pathdb,
|
||||
user=credential_decoder(user),
|
||||
password=credential_decoder(password),
|
||||
charset=charset))
|
||||
driver_args.update(host=host,
|
||||
database=pathdb,
|
||||
user=credential_decoder(user),
|
||||
password=credential_decoder(password),
|
||||
charset=charset)
|
||||
#def connect(driver_args=driver_args):
|
||||
# return kinterbasdb.connect(**driver_args)
|
||||
|
||||
@@ -3403,7 +3403,7 @@ class InformixAdapter(BaseAdapter):
|
||||
user = credential_decoder(user)
|
||||
password = credential_decoder(password)
|
||||
dsn = '%s@%s' % (db,host)
|
||||
driver_args.update(dict(user=user,password=password,autocommit=True))
|
||||
driver_args.update(user=user,password=password,autocommit=True)
|
||||
def connect(dsn=dsn,driver_args=driver_args):
|
||||
return self.driver.connect(dsn,**driver_args)
|
||||
self.pool_connection(connect)
|
||||
@@ -3644,10 +3644,10 @@ class IngresAdapter(BaseAdapter):
|
||||
vnode = '(local)'
|
||||
servertype = 'ingres'
|
||||
trace = (0, None) # No tracing
|
||||
driver_args.update(dict(database=database_name,
|
||||
vnode=vnode,
|
||||
servertype=servertype,
|
||||
trace=trace))
|
||||
driver_args.update(database=database_name,
|
||||
vnode=vnode,
|
||||
servertype=servertype,
|
||||
trace=trace)
|
||||
def connect(driver_args=driver_args):
|
||||
return self.driver.connect(**driver_args)
|
||||
self.pool_connection(connect)
|
||||
@@ -4161,7 +4161,7 @@ class GoogleDatastoreAdapter(NoSQLAdapter):
|
||||
'list:string': (lambda: gae.StringListProperty(default=None)),
|
||||
'list:integer': (lambda: gae.ListProperty(int,default=None)),
|
||||
'list:reference': (lambda: gae.ListProperty(int,default=None)),
|
||||
})
|
||||
})
|
||||
self.db = db
|
||||
self.uri = uri
|
||||
self.dbengine = 'google:datastore'
|
||||
@@ -5516,7 +5516,7 @@ class IMAPAdapter(NoSQLAdapter):
|
||||
if port==993:
|
||||
over_ssl = True
|
||||
|
||||
driver_args.update(dict(host=host,port=port, password=password, user=user))
|
||||
driver_args.update(host=host,port=port, password=password, user=user)
|
||||
def connect(driver_args=driver_args):
|
||||
# it is assumed sucessful authentication alLways
|
||||
# TODO: support direct connection and login tests
|
||||
|
||||
+11
-11
@@ -425,14 +425,14 @@ def wsgibase(environ, responder):
|
||||
client = get_client(env)
|
||||
x_req_with = str(env.http_x_requested_with).lower()
|
||||
|
||||
request.update(dict(
|
||||
client = client,
|
||||
folder = abspath('applications',app) + os.sep,
|
||||
ajax = x_req_with == 'xmlhttprequest',
|
||||
cid = env.http_web2py_component_element,
|
||||
is_local = env.remote_addr in local_hosts,
|
||||
is_https = env.wsgi_url_scheme \
|
||||
in ['https', 'HTTPS'] or env.https=='on'))
|
||||
request.update(
|
||||
client = client,
|
||||
folder = abspath('applications',app) + os.sep,
|
||||
ajax = x_req_with == 'xmlhttprequest',
|
||||
cid = env.http_web2py_component_element,
|
||||
is_local = env.remote_addr in local_hosts,
|
||||
is_https = env.wsgi_url_scheme \
|
||||
in ['https', 'HTTPS'] or env.https=='on')
|
||||
request.uuid = request.compute_uuid() # requires client
|
||||
|
||||
# ##################################################
|
||||
@@ -561,15 +561,15 @@ def wsgibase(environ, responder):
|
||||
# ##################################################
|
||||
|
||||
if request.cid:
|
||||
rheaders
|
||||
rheaders = response.headers
|
||||
if response.flash and \
|
||||
not 'web2py-component-flash' in rheaders:
|
||||
rheaders['web2py-component-flash'] = \
|
||||
urllib2.quote(xmlescape(response.flash)\
|
||||
.replace('\n',''))
|
||||
if response.js and \
|
||||
not 'web2py-component-command' in readers:
|
||||
readers['web2py-component-command'] = \
|
||||
not 'web2py-component-command' in rheaders:
|
||||
rheaders['web2py-component-command'] = \
|
||||
response.js.replace('\n','')
|
||||
rcookies = response.cookies
|
||||
if session._forget and \
|
||||
|
||||
+1
-1
@@ -292,7 +292,7 @@ class MultipleOptionsWidget(OptionsWidget):
|
||||
be shown
|
||||
"""
|
||||
|
||||
attributes.update(dict(_size=size, _multiple=True))
|
||||
attributes.update(_size=size, _multiple=True)
|
||||
|
||||
return OptionsWidget.widget(field, value, **attributes)
|
||||
|
||||
|
||||
+179
-178
@@ -800,139 +800,139 @@ def addrow(form, a, b, c, style, _id, position=-1):
|
||||
|
||||
class Auth(object):
|
||||
|
||||
default_settings = {
|
||||
'hideerror': False,
|
||||
'password_min_length': 4,
|
||||
'cas_maps': None,
|
||||
'reset_password_requires_verification': False,
|
||||
'registration_requires_verification': False,
|
||||
'registration_requires_approval': False,
|
||||
'login_after_registration': False,
|
||||
'login_after_password_change': True,
|
||||
'alternate_requires_registration': False,
|
||||
'create_user_groups': "user_%(id)s",
|
||||
'everybody_group_id': None,
|
||||
'login_captcha': None,
|
||||
'register_captcha': None,
|
||||
'retrieve_username_captcha': None,
|
||||
'retrieve_password_captcha': None,
|
||||
'captcha': None,
|
||||
'expiration': 3600, # one hour
|
||||
'long_expiration': 3600*30*24, # one month
|
||||
'remember_me_form': True,
|
||||
'allow_basic_login': False,
|
||||
'allow_basic_login_only': False,
|
||||
'on_failed_authentication': lambda x: redirect(x),
|
||||
'formstyle': 'table3cols',
|
||||
'label_separator': ': ',
|
||||
'password_field': 'password',
|
||||
'table_user_name': 'auth_user',
|
||||
'table_group_name': 'auth_group',
|
||||
'table_membership_name': 'auth_membership',
|
||||
'table_permission_name': 'auth_permission',
|
||||
'table_event_name': 'auth_event',
|
||||
'table_cas_name': 'auth_cas',
|
||||
'table_user': None,
|
||||
'table_group': None,
|
||||
'table_membership': None,
|
||||
'table_permission': None,
|
||||
'table_event': None,
|
||||
'table_cas': None,
|
||||
'showid': False,
|
||||
'login_email_validate': True,
|
||||
'login_userfield': None,
|
||||
'logout_onlogout': None,
|
||||
'register_fields': None,
|
||||
'register_verify_password': True,
|
||||
'profile_fields': None,
|
||||
'email_case_sensitive': True,
|
||||
'username_case_sensitive': True,
|
||||
}
|
||||
default_settings = dict(
|
||||
hideerror = False,
|
||||
password_min_length = 4,
|
||||
cas_maps = None,
|
||||
reset_password_requires_verification = False,
|
||||
registration_requires_verification = False,
|
||||
registration_requires_approval = False,
|
||||
login_after_registration = False,
|
||||
login_after_password_change = True,
|
||||
alternate_requires_registration = False,
|
||||
create_user_groups = "user_%(id)s",
|
||||
everybody_group_id = None,
|
||||
login_captcha = None,
|
||||
register_captcha = None,
|
||||
retrieve_username_captcha = None,
|
||||
retrieve_password_captcha = None,
|
||||
captcha = None,
|
||||
expiration = 3600, # one hour
|
||||
long_expiration = 3600*30*24, # one month
|
||||
remember_me_form = True,
|
||||
allow_basic_login = False,
|
||||
allow_basic_login_only = False,
|
||||
on_failed_authentication = lambda x: redirect(x),
|
||||
formstyle = "table3cols",
|
||||
label_separator = ": ",
|
||||
password_field = 'password',
|
||||
table_user_name = 'auth_user',
|
||||
table_group_name = 'auth_group',
|
||||
table_membership_name = 'auth_membership',
|
||||
table_permission_name = 'auth_permission',
|
||||
table_event_name = 'auth_event',
|
||||
table_cas_name = 'auth_cas',
|
||||
table_user = None,
|
||||
table_group = None,
|
||||
table_membership = None,
|
||||
table_permission = None,
|
||||
table_event = None,
|
||||
table_cas = None,
|
||||
showid = False,
|
||||
login_email_validate = True,
|
||||
login_userfield = None,
|
||||
logout_onlogout = None,
|
||||
register_fields = None,
|
||||
register_verify_password = True,
|
||||
profile_fields = None,
|
||||
email_case_sensitive = True,
|
||||
username_case_sensitive = True,
|
||||
)
|
||||
# ## these are messages that can be customized
|
||||
default_messages = {
|
||||
'login_button': 'Login',
|
||||
'register_button': 'Register',
|
||||
'password_reset_button': 'Request reset password',
|
||||
'password_change_button': 'Change password',
|
||||
'profile_save_button': 'Save profile',
|
||||
'submit_button': 'Submit',
|
||||
'verify_password': 'Verify Password',
|
||||
'delete_label': 'Check to delete',
|
||||
'function_disabled': 'Function disabled',
|
||||
'access_denied': 'Insufficient privileges',
|
||||
'registration_verifying': 'Registration needs verification',
|
||||
'registration_pending': 'Registration is pending approval',
|
||||
'login_disabled': 'Login disabled by administrator',
|
||||
'logged_in': 'Logged in',
|
||||
'email_sent': 'Email sent',
|
||||
'unable_to_send_email': 'Unable to send email',
|
||||
'email_verified': 'Email verified',
|
||||
'logged_out': 'Logged out',
|
||||
'registration_successful': 'Registration successful',
|
||||
'invalid_email': 'Invalid email',
|
||||
'unable_send_email': 'Unable to send email',
|
||||
'invalid_login': 'Invalid login',
|
||||
'invalid_user': 'Invalid user',
|
||||
'invalid_password': 'Invalid password',
|
||||
'is_empty': "Cannot be empty",
|
||||
'mismatched_password': "Password fields don't match",
|
||||
'verify_email': 'Click on the link %(link)s to verify your email',
|
||||
'verify_email_subject': 'Email verification',
|
||||
'username_sent': 'Your username was emailed to you',
|
||||
'new_password_sent': 'A new password was emailed to you',
|
||||
'password_changed': 'Password changed',
|
||||
'retrieve_username': 'Your username is: %(username)s',
|
||||
'retrieve_username_subject': 'Username retrieve',
|
||||
'retrieve_password': 'Your password is: %(password)s',
|
||||
'retrieve_password_subject': 'Password retrieve',
|
||||
'reset_password': \
|
||||
default_messages = dict(
|
||||
login_button = 'Login',
|
||||
register_button = 'Register',
|
||||
password_reset_button = 'Request reset password',
|
||||
password_change_button = 'Change password',
|
||||
profile_save_button = 'Save profile',
|
||||
submit_button = 'Submit',
|
||||
verify_password = 'Verify Password',
|
||||
delete_label = 'Check to delete',
|
||||
function_disabled = 'Function disabled',
|
||||
access_denied = 'Insufficient privileges',
|
||||
registration_verifying = 'Registration needs verification',
|
||||
registration_pending = 'Registration is pending approval',
|
||||
login_disabled = 'Login disabled by administrator',
|
||||
logged_in = 'Logged in',
|
||||
email_sent = 'Email sent',
|
||||
unable_to_send_email = 'Unable to send email',
|
||||
email_verified = 'Email verified',
|
||||
logged_out = 'Logged out',
|
||||
registration_successful = 'Registration successful',
|
||||
invalid_email = 'Invalid email',
|
||||
unable_send_email = 'Unable to send email',
|
||||
invalid_login = 'Invalid login',
|
||||
invalid_user = 'Invalid user',
|
||||
invalid_password = 'Invalid password',
|
||||
is_empty = "Cannot be empty",
|
||||
mismatched_password = "Password fields don't match",
|
||||
verify_email = 'Click on the link %(link)s to verify your email',
|
||||
verify_email_subject = 'Email verification',
|
||||
username_sent = 'Your username was emailed to you',
|
||||
new_password_sent = 'A new password was emailed to you',
|
||||
password_changed = 'Password changed',
|
||||
retrieve_username = 'Your username is: %(username)s',
|
||||
retrieve_username_subject = 'Username retrieve',
|
||||
retrieve_password = 'Your password is: %(password)s',
|
||||
retrieve_password_subject = 'Password retrieve',
|
||||
reset_password = \
|
||||
'Click on the link %(link)s to reset your password',
|
||||
'reset_password_subject': 'Password reset',
|
||||
'invalid_reset_password': 'Invalid reset password',
|
||||
'profile_updated': 'Profile updated',
|
||||
'new_password': 'New password',
|
||||
'old_password': 'Old password',
|
||||
'group_description': 'Group uniquely assigned to user %(id)s',
|
||||
'register_log': 'User %(id)s Registered',
|
||||
'login_log': 'User %(id)s Logged-in',
|
||||
'login_failed_log': None,
|
||||
'logout_log': 'User %(id)s Logged-out',
|
||||
'profile_log': 'User %(id)s Profile updated',
|
||||
'verify_email_log': 'User %(id)s Verification email sent',
|
||||
'retrieve_username_log': 'User %(id)s Username retrieved',
|
||||
'retrieve_password_log': 'User %(id)s Password retrieved',
|
||||
'reset_password_log': 'User %(id)s Password reset',
|
||||
'change_password_log': 'User %(id)s Password changed',
|
||||
'add_group_log': 'Group %(group_id)s created',
|
||||
'del_group_log': 'Group %(group_id)s deleted',
|
||||
'add_membership_log': None,
|
||||
'del_membership_log': None,
|
||||
'has_membership_log': None,
|
||||
'add_permission_log': None,
|
||||
'del_permission_log': None,
|
||||
'has_permission_log': None,
|
||||
'impersonate_log': 'User %(id)s is impersonating %(other_id)s',
|
||||
'label_first_name': 'First name',
|
||||
'label_last_name': 'Last name',
|
||||
'label_username': 'Username',
|
||||
'label_email': 'E-mail',
|
||||
'label_password': 'Password',
|
||||
'label_registration_key': 'Registration key',
|
||||
'label_reset_password_key': 'Reset Password key',
|
||||
'label_registration_id': 'Registration identifier',
|
||||
'label_role': 'Role',
|
||||
'label_description': 'Description',
|
||||
'label_user_id': 'User ID',
|
||||
'label_group_id': 'Group ID',
|
||||
'label_name': 'Name',
|
||||
'label_table_name': 'Object or table name',
|
||||
'label_record_id': 'Record ID',
|
||||
'label_time_stamp': 'Timestamp',
|
||||
'label_client_ip': 'Client IP',
|
||||
'label_origin': 'Origin',
|
||||
'label_remember_me': "Remember me (for 30 days)",
|
||||
'verify_password_comment': 'please input your password again',
|
||||
}
|
||||
reset_password_subject = 'Password reset',
|
||||
invalid_reset_password = 'Invalid reset password',
|
||||
profile_updated = 'Profile updated',
|
||||
new_password = 'New password',
|
||||
old_password = 'Old password',
|
||||
group_description = 'Group uniquely assigned to user %(id)s',
|
||||
register_log = 'User %(id)s Registered',
|
||||
login_log = 'User %(id)s Logged-in',
|
||||
login_failed_log = None,
|
||||
logout_log = 'User %(id)s Logged-out',
|
||||
profile_log = 'User %(id)s Profile updated',
|
||||
verify_email_log = 'User %(id)s Verification email sent',
|
||||
retrieve_username_log = 'User %(id)s Username retrieved',
|
||||
retrieve_password_log = 'User %(id)s Password retrieved',
|
||||
reset_password_log = 'User %(id)s Password reset',
|
||||
change_password_log = 'User %(id)s Password changed',
|
||||
add_group_log = 'Group %(group_id)s created',
|
||||
del_group_log = 'Group %(group_id)s deleted',
|
||||
add_membership_log = None,
|
||||
del_membership_log = None,
|
||||
has_membership_log = None,
|
||||
add_permission_log = None,
|
||||
del_permission_log = None,
|
||||
has_permission_log = None,
|
||||
impersonate_log = 'User %(id)s is impersonating %(other_id)s',
|
||||
label_first_name = 'First name',
|
||||
label_last_name = 'Last name',
|
||||
label_username = 'Username',
|
||||
label_email = 'E-mail',
|
||||
label_password = 'Password',
|
||||
label_registration_key = 'Registration key',
|
||||
label_reset_password_key = 'Reset Password key',
|
||||
label_registration_id = 'Registration identifier',
|
||||
label_role = 'Role',
|
||||
label_description = 'Description',
|
||||
label_user_id = 'User ID',
|
||||
label_group_id = 'Group ID',
|
||||
label_name = 'Name',
|
||||
label_table_name = 'Object or table name',
|
||||
label_record_id = 'Record ID',
|
||||
label_time_stamp = 'Timestamp',
|
||||
label_client_ip = 'Client IP',
|
||||
label_origin = 'Origin',
|
||||
label_remember_me = "Remember me (for 30 days)",
|
||||
verify_password_comment = 'please input your password again',
|
||||
)
|
||||
|
||||
"""
|
||||
Class for authentication, authorization, role based access control.
|
||||
@@ -1081,51 +1081,51 @@ class Auth(object):
|
||||
|
||||
settings = self.settings = Settings()
|
||||
settings.update(Auth.default_settings)
|
||||
settings.update({
|
||||
'cas_domains': [request.env.http_host],
|
||||
'cas_provider': cas_provider,
|
||||
'cas_actions': {'login':'login',
|
||||
'validate':'validate',
|
||||
'servicevalidate':'serviceValidate',
|
||||
'proxyvalidate':'proxyValidate',
|
||||
'logout':'logout'},
|
||||
'extra_fields': {},
|
||||
'actions_disabled': [],
|
||||
'controller': controller,
|
||||
'function': function,
|
||||
'login_url': url_login,
|
||||
'logged_url': URL(controller, function, args='profile'),
|
||||
'download_url': URL(controller,'download'),
|
||||
'mailer': (mailer==True) and Mail() or mailer,
|
||||
'on_failed_authorization': \
|
||||
URL(controller,function, args='not_authorized'),
|
||||
'login_next': url_index,
|
||||
'login_onvalidation': [],
|
||||
'login_onaccept': [],
|
||||
'login_methods': [self],
|
||||
'login_form': self,
|
||||
'logout_next': url_index,
|
||||
'logout_onlogout': None,
|
||||
'register_next': url_index,
|
||||
'register_onvalidation': [],
|
||||
'register_onaccept': [],
|
||||
'verify_email_next': url_login,
|
||||
'verify_email_onaccept': [],
|
||||
'profile_next': url_index,
|
||||
'profile_onvalidation': [],
|
||||
'profile_onaccept': [],
|
||||
'retrieve_username_next': url_index,
|
||||
'retrieve_password_next': url_index,
|
||||
'request_reset_password_next': url_login,
|
||||
'reset_password_next': url_index,
|
||||
'change_password_next': url_index,
|
||||
'change_password_onvalidation': [],
|
||||
'change_password_onaccept': [],
|
||||
'retrieve_password_onvalidation': [],
|
||||
'reset_password_onvalidation': [],
|
||||
'reset_password_onaccept': [],
|
||||
'hmac_key': hmac_key,
|
||||
})
|
||||
settings.update(
|
||||
cas_domains = [request.env.http_host],
|
||||
cas_provider = cas_provider,
|
||||
cas_actions = dict(login ='login',
|
||||
validate ='validate',
|
||||
servicevalidate ='serviceValidate',
|
||||
proxyvalidate ='proxyValidate',
|
||||
logout ='logout'),
|
||||
extra_fields = {},
|
||||
actions_disabled = [],
|
||||
controller = controller,
|
||||
function = function,
|
||||
login_url = url_login,
|
||||
logged_url = URL(controller, function, args='profile'),
|
||||
download_url = URL(controller,'download'),
|
||||
mailer = (mailer==True) and Mail() or mailer,
|
||||
on_failed_authorization = \
|
||||
URL(controller,function, args='not_authorized'),
|
||||
login_next = url_index,
|
||||
login_onvalidation = [],
|
||||
login_onaccept = [],
|
||||
login_methods = [self],
|
||||
login_form = self,
|
||||
logout_next = url_index,
|
||||
logout_onlogout = None,
|
||||
register_next = url_index,
|
||||
register_onvalidation = [],
|
||||
register_onaccept = [],
|
||||
verify_email_next = url_login,
|
||||
verify_email_onaccept = [],
|
||||
profile_next = url_index,
|
||||
profile_onvalidation = [],
|
||||
profile_onaccept = [],
|
||||
retrieve_username_next = url_index,
|
||||
retrieve_password_next = url_index,
|
||||
request_reset_password_next = url_login,
|
||||
reset_password_next = url_index,
|
||||
change_password_next = url_index,
|
||||
change_password_onvalidation = [],
|
||||
change_password_onaccept = [],
|
||||
retrieve_password_onvalidation = [],
|
||||
reset_password_onvalidation = [],
|
||||
reset_password_onaccept = [],
|
||||
hmac_key = hmac_key,
|
||||
)
|
||||
settings.lock_keys = True
|
||||
|
||||
# ## these are messages that can be customized
|
||||
@@ -2344,8 +2344,9 @@ class Auth(object):
|
||||
redirect(self.url(args=request.args))
|
||||
password = self.random_password()
|
||||
passfield = self.settings.password_field
|
||||
d = {passfield: str(table_user[passfield].validate(password)[0]),
|
||||
'registration_key': ''}
|
||||
d = dict(
|
||||
passfield = str(table_user[passfield].validate(password)[0]),
|
||||
registration_key = '')
|
||||
user.update_record(**d)
|
||||
if self.settings.mailer and \
|
||||
self.settings.mailer.send(to=form.vars.email,
|
||||
|
||||
Reference in New Issue
Block a user