[minor] send me a copy is sticky, fixes frappe/erpnext#2367 (#3974)
This commit is contained in:
parent
ada7967cd1
commit
6b45f8a988
7 changed files with 72 additions and 12 deletions
23
frappe/core/doctype/user/test_user.js
Normal file
23
frappe/core/doctype/user/test_user.js
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* eslint-disable */
|
||||
// rename this file from _test_[name] to test_[name] to activate
|
||||
// and remove above this line
|
||||
|
||||
QUnit.test("test: User", function (assert) {
|
||||
let done = assert.async();
|
||||
|
||||
// number of asserts
|
||||
assert.expect(1);
|
||||
|
||||
frappe.run_serially([
|
||||
// insert a new User
|
||||
() => frappe.tests.make('User', [
|
||||
// values to be set
|
||||
{key: 'value'}
|
||||
]),
|
||||
() => {
|
||||
assert.equal(cur_frm.doc.key, 'value');
|
||||
},
|
||||
() => done()
|
||||
]);
|
||||
|
||||
});
|
||||
|
|
@ -60,11 +60,11 @@ frappe.ui.form.on('User', {
|
|||
"user": doc.name
|
||||
};
|
||||
frappe.set_route('List', 'User Permission');
|
||||
}, null, "btn-default")
|
||||
}, __("Permissions"))
|
||||
|
||||
frm.add_custom_button(__('View Permitted Documents'),
|
||||
() => frappe.set_route('query-report', 'Permitted Documents For User',
|
||||
{user: frm.doc.name}));
|
||||
{user: frm.doc.name}), __("Permissions"));
|
||||
|
||||
frm.toggle_display(['sb1', 'sb3', 'modules_access'], true);
|
||||
}
|
||||
|
|
@ -76,7 +76,7 @@ frappe.ui.form.on('User', {
|
|||
"user": frm.doc.name
|
||||
}
|
||||
})
|
||||
})
|
||||
}, __("Password"));
|
||||
|
||||
frm.add_custom_button(__("Reset OTP Secret"), function() {
|
||||
frappe.call({
|
||||
|
|
@ -85,7 +85,7 @@ frappe.ui.form.on('User', {
|
|||
"user": frm.doc.name
|
||||
}
|
||||
})
|
||||
})
|
||||
}, __("Password"));
|
||||
|
||||
frm.trigger('enabled');
|
||||
|
||||
|
|
|
|||
|
|
@ -1043,6 +1043,36 @@
|
|||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "send_me_a_copy",
|
||||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Send Me A Copy of Outgoing Emails",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
|
|
@ -1971,7 +2001,7 @@
|
|||
"istable": 0,
|
||||
"max_attachments": 5,
|
||||
"menu_index": 0,
|
||||
"modified": "2017-07-07 17:18:14.047969",
|
||||
"modified": "2017-08-23 10:34:11.944298",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "User",
|
||||
|
|
|
|||
|
|
@ -952,7 +952,7 @@ def send_token_via_email(tmp_id,token=None):
|
|||
delayed=False, retry=3)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def reset_otp_secret(user):
|
||||
otp_issuer = frappe.db.get_value('System Settings', 'System Settings', 'otp_issuer_name')
|
||||
|
|
@ -964,7 +964,7 @@ def reset_otp_secret(user):
|
|||
'recipients':user_email, 'sender':None, 'subject':'OTP Secret Reset - {}'.format(otp_issuer or "Frappe Framework"),
|
||||
'message':'<p>Your OTP secret on {} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.</p>'.format(otp_issuer or "Frappe Framework"),
|
||||
'delayed':False,
|
||||
'retry':3
|
||||
'retry':3
|
||||
}
|
||||
enqueue(method=frappe.sendmail, queue='short', timeout=300, event=None, async=True, job_name=None, now=False, **email_args)
|
||||
return frappe.msgprint(_("OTP Secret has been reset. Re-registration will be required on next login."))
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
{label:__("Send As Email"), fieldtype:"Check",
|
||||
fieldname:"send_email"},
|
||||
{label:__("Send me a copy"), fieldtype:"Check",
|
||||
fieldname:"send_me_a_copy"},
|
||||
fieldname:"send_me_a_copy", 'default': frappe.boot.user.send_me_a_copy},
|
||||
{label:__("Send Read Receipt"), fieldtype:"Check",
|
||||
fieldname:"send_read_receipt"},
|
||||
{label:__("Communication Medium"), fieldtype:"Select",
|
||||
|
|
@ -375,7 +375,14 @@ frappe.views.CommunicationComposer = Class.extend({
|
|||
$(fields.select_print_format.wrapper).toggle(true);
|
||||
}
|
||||
|
||||
$(fields.send_email.input).prop("checked", true)
|
||||
$(fields.send_email.input).prop("checked", true);
|
||||
|
||||
$(fields.send_me_a_copy.input).on('click', () => {
|
||||
// update send me a copy (make it sticky)
|
||||
let val = fields.send_me_a_copy.get_value();
|
||||
frappe.db.set_value('User', frappe.session.user, 'send_me_a_copy', val);
|
||||
frappe.boot.user.send_me_a_copy = val;
|
||||
});
|
||||
|
||||
// toggle print format
|
||||
$(fields.send_email.input).click(function() {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ def clear_cache(user=None):
|
|||
cache = frappe.cache()
|
||||
|
||||
groups = ("bootinfo", "user_recent", "roles", "user_doc", "lang",
|
||||
"defaults", "user_permissions", "roles", "home_page", "linked_with",
|
||||
"defaults", "user_permissions", "home_page", "linked_with",
|
||||
"desktop_icons", 'portal_menu_items')
|
||||
|
||||
if user:
|
||||
|
|
|
|||
|
|
@ -193,8 +193,8 @@ class UserPermissions:
|
|||
|
||||
def load_user(self):
|
||||
d = frappe.db.sql("""select email, first_name, last_name, creation,
|
||||
email_signature, user_type, language, background_image, background_style, mute_sounds
|
||||
from tabUser where name = %s""", (self.name,), as_dict=1)[0]
|
||||
email_signature, user_type, language, background_image, background_style,
|
||||
mute_sounds, send_me_a_copy from tabUser where name = %s""", (self.name,), as_dict=1)[0]
|
||||
|
||||
if not self.can_read:
|
||||
self.build_permissions()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue