浏览代码

[patch] update auth based on new password system

version-14
Anand Doshi 9 年前
父节点
当前提交
bf93df0989
共有 2 个文件被更改,包括 15 次插入5 次删除
  1. +2
    -0
      frappe/patches.txt
  2. +13
    -5
      frappe/patches/v7_0/update_auth.py

+ 2
- 0
frappe/patches.txt 查看文件

@@ -127,4 +127,6 @@ frappe.patches.v7_0.desktop_icons_hidden_by_admin_as_blocked
frappe.patches.v7_0.add_communication_in_doc
frappe.patches.v7_0.update_send_after_in_bulk_email
frappe.patches.v7_0.setup_list_settings
execute:frappe.db.sql('''delete from `tabSingles` where doctype="Email Settings"''') # 2016-06-13
frappe.patches.v7_0.update_auth


+ 13
- 5
frappe/patches/v7_0/update_auth.py 查看文件

@@ -22,13 +22,21 @@ def execute():
meta = frappe.get_meta(doctype)

for df in meta.get('fields', {'fieldtype': 'Password'}):
for d in frappe.db.sql('''select name, `{fieldname}` from `tab{doctype}`
where `{fieldname}` is not null'''.format(fieldname=df.fieldname, doctype=doctype), as_dict=True):
if meta.issingle:
password = frappe.db.get_value(doctype, doctype, df.fieldname)
if password:
set_encrypted_password(doctype, doctype, password, fieldname=df.fieldname)
frappe.db.set_value(doctype, doctype, df.fieldname, '*'*len(password))

set_encrypted_password(doctype, d.name, d.get(df.fieldname), fieldname=df.fieldname)
else:
for d in frappe.db.sql('''select name, `{fieldname}` from `tab{doctype}`
where `{fieldname}` is not null'''.format(fieldname=df.fieldname, doctype=doctype), as_dict=True):

set_encrypted_password(doctype, d.name, d.get(df.fieldname), fieldname=df.fieldname)

frappe.db.sql('''update `tab{doctype}` set `{fieldname}`=repeat("*", char_length(`{fieldname}`))'''
.format(doctype=doctype, fieldname=df.fieldname))

frappe.db.sql('''update `tab{doctype}` set `{fieldname}`=repeat("*", char_length(`{fieldname}`))'''
.format(doctype=doctype, fieldname=df.fieldname))
frappe.db.commit()

frappe.db.sql_ddl('''drop table `__OldAuth`''')

正在加载...
取消
保存