[minor] fixes to patches, ignore validate if in patch, move some events to hourly
This commit is contained in:
parent
9c817223d6
commit
7ef8f5f7a2
6 changed files with 37 additions and 18 deletions
|
|
@ -1,5 +1,5 @@
|
|||
frappe.listview_settings['Communication'] = {
|
||||
add_fields: ["sent_or_received", "recipients", "subject", "communication_medium", "communication_type"],
|
||||
default_filters: [["Communication", "communication_type", "=", "Communication"]],
|
||||
//default_filters: [["Communication", "communication_type", "=", "Communication"]],
|
||||
filters: [["status", "=", "Open"]]
|
||||
};
|
||||
|
|
|
|||
|
|
@ -50,6 +50,9 @@ class PropertySetter(Document):
|
|||
(self.field_name, self.doc_type), as_dict = 1)[0]
|
||||
|
||||
def on_update(self):
|
||||
if frappe.flags.in_patch:
|
||||
self.flags.validate_fields_for_doctype = False
|
||||
|
||||
if not self.flags.ignore_validate and self.flags.validate_fields_for_doctype:
|
||||
from frappe.core.doctype.doctype.doctype import validate_fields_for_doctype
|
||||
validate_fields_for_doctype(self.doc_type)
|
||||
|
|
|
|||
|
|
@ -125,9 +125,11 @@ scheduler_events = {
|
|||
"frappe.email.queue.flush",
|
||||
"frappe.email.doctype.email_account.email_account.pull",
|
||||
"frappe.email.doctype.email_account.email_account.notify_unreplied",
|
||||
"frappe.utils.error.collect_error_snapshots",
|
||||
],
|
||||
"hourly": [
|
||||
"frappe.model.utils.link_count.update_link_count",
|
||||
'frappe.model.utils.list_settings.sync_list_settings'
|
||||
'frappe.model.utils.list_settings.sync_list_settings',
|
||||
"frappe.utils.error.collect_error_snapshots"
|
||||
],
|
||||
"daily": [
|
||||
"frappe.email.queue.clear_outbox",
|
||||
|
|
@ -139,8 +141,7 @@ scheduler_events = {
|
|||
"frappe.async.remove_old_task_logs",
|
||||
"frappe.utils.scheduler.disable_scheduler_on_expiry",
|
||||
"frappe.utils.scheduler.restrict_scheduler_events_if_dormant",
|
||||
"frappe.limits.update_space_usage"
|
||||
|
||||
"frappe.limits.update_space_usage",
|
||||
],
|
||||
"daily_long": [
|
||||
"frappe.integrations.doctype.dropbox_backup.dropbox_backup.take_backups_daily"
|
||||
|
|
|
|||
|
|
@ -53,10 +53,10 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa
|
|||
|
||||
else:
|
||||
doc = frappe.get_doc(doctype, name)
|
||||
|
||||
|
||||
update_flags(doc, flags, ignore_permissions)
|
||||
check_permission_and_not_submitted(doc)
|
||||
|
||||
|
||||
frappe.db.sql("delete from `tabCustom Field` where dt = %s", name)
|
||||
frappe.db.sql("delete from `tabCustom Script` where dt = %s", name)
|
||||
frappe.db.sql("delete from `tabProperty Setter` where doc_type = %s", name)
|
||||
|
|
@ -97,7 +97,7 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa
|
|||
delete_from_table(doctype, name, ignore_doctypes, doc)
|
||||
doc.run_method("after_delete")
|
||||
|
||||
if doc:
|
||||
if doc and not frappe.flags.in_patch:
|
||||
try:
|
||||
doc.notify_update()
|
||||
insert_feed(doc)
|
||||
|
|
@ -139,14 +139,14 @@ def delete_from_table(doctype, name, ignore_doctypes, doc):
|
|||
for t in list(set(tables)):
|
||||
if t not in ignore_doctypes:
|
||||
frappe.db.sql("delete from `tab%s` where parenttype=%s and parent = %s" % (t, '%s', '%s'), (doctype, name))
|
||||
|
||||
|
||||
def update_flags(doc, flags=None, ignore_permissions=False):
|
||||
if ignore_permissions:
|
||||
if not flags: flags = {}
|
||||
flags["ignore_permissions"] = ignore_permissions
|
||||
|
||||
if flags:
|
||||
doc.flags.update(flags)
|
||||
doc.flags.update(flags)
|
||||
|
||||
def check_permission_and_not_submitted(doc):
|
||||
# permission
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ from __future__ import unicode_literals
|
|||
|
||||
where patch1, patch2 is module name
|
||||
"""
|
||||
import frappe, os, frappe.permissions
|
||||
import frappe, frappe.permissions
|
||||
|
||||
class PatchError(Exception): pass
|
||||
|
||||
|
|
@ -20,12 +20,20 @@ def run_all():
|
|||
"""run all pending patches"""
|
||||
executed = [p[0] for p in frappe.db.sql("""select patch from `tabPatch Log`""")]
|
||||
|
||||
frappe.flags.final_patches = []
|
||||
for patch in get_all_patches():
|
||||
if patch and (patch not in executed):
|
||||
if not run_single(patchmodule = patch):
|
||||
log(patch + ': failed: STOPPED')
|
||||
raise PatchError(patch)
|
||||
|
||||
# patches to be run in the end
|
||||
for patch in frappe.flags.final_patches:
|
||||
patch = patch.replace('finally:', '')
|
||||
if not run_single(patchmodule = patch):
|
||||
log(patch + ': failed: STOPPED')
|
||||
raise PatchError(patch)
|
||||
|
||||
def get_all_patches():
|
||||
patches = []
|
||||
for app in frappe.get_installed_apps():
|
||||
|
|
@ -62,11 +70,15 @@ def execute_patch(patchmodule, method=None, methodargs=None):
|
|||
log('Executing {patch} in {site} ({db})'.format(patch=patchmodule or str(methodargs),
|
||||
site=frappe.local.site, db=frappe.db.cur_db_name))
|
||||
if patchmodule:
|
||||
if patchmodule.startswith("execute:"):
|
||||
exec patchmodule.split("execute:")[1] in globals()
|
||||
if patchmodule.startswith("finally:"):
|
||||
# run run patch at the end
|
||||
frappe.flags.final_patches.append(patchmodule)
|
||||
else:
|
||||
frappe.get_attr(patchmodule.split()[0] + ".execute")()
|
||||
update_patch_log(patchmodule)
|
||||
if patchmodule.startswith("execute:"):
|
||||
exec patchmodule.split("execute:")[1] in globals()
|
||||
else:
|
||||
frappe.get_attr(patchmodule.split()[0] + ".execute")()
|
||||
update_patch_log(patchmodule)
|
||||
elif method:
|
||||
method(**methodargs)
|
||||
|
||||
|
|
@ -87,6 +99,9 @@ def update_patch_log(patchmodule):
|
|||
|
||||
def executed(patchmodule):
|
||||
"""return True if is executed"""
|
||||
if patchmodule.startswith('finally:'):
|
||||
# patches are saved without the finally: tag
|
||||
patchmodule = patchmodule.replace('finally:', '')
|
||||
done = frappe.db.get_value("Patch Log", {"patch": patchmodule})
|
||||
# if done:
|
||||
# print "Patch %s already executed in %s" % (patchmodule, frappe.db.cur_db_name)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
execute:frappe.db.sql("""update `tabPatch Log` set patch=replace(patch, '.4_0.', '.v4_0.')""") #2014-05-12
|
||||
frappe.patches.v5_0.convert_to_barracuda_and_utf8mb4
|
||||
frappe.patches.v7_0.update_auth
|
||||
frappe.patches.v6_1.rename_file_data
|
||||
frappe.patches.v7_0.re_route #2016-06-27
|
||||
execute:frappe.reload_doc('core', 'doctype', 'doctype', force=True) #2016-07-11
|
||||
execute:frappe.reload_doc('core', 'doctype', 'docfield', force=True) #2016-02-26
|
||||
execute:frappe.reload_doc('core', 'doctype', 'docperm') #2014-06-24
|
||||
|
|
@ -16,7 +18,6 @@ execute:frappe.reload_doc('custom', 'doctype', 'property_setter') #2014-12-31-1
|
|||
execute:frappe.reload_doc('core', 'doctype', 'patch_log') #2016-10-31
|
||||
execute:frappe.reload_doctype("File") # 2015-10-19
|
||||
execute:frappe.reload_doc('core', 'doctype', 'error_snapshot')
|
||||
frappe.patches.v7_0.update_auth
|
||||
frappe.patches.v7_0.rename_bulk_email_to_email_queue
|
||||
|
||||
execute:frappe.db.sql("alter table `tabSessions` modify `user` varchar(255), engine=InnoDB")
|
||||
|
|
@ -122,7 +123,7 @@ frappe.patches.v6_16.feed_doc_owner
|
|||
frappe.patches.v6_21.print_settings_repeat_header_footer
|
||||
frappe.patches.v6_24.set_language_as_code
|
||||
frappe.patches.v6_20x.update_insert_after
|
||||
frappe.patches.v6_24.sync_desktop_icons
|
||||
finally:frappe.patches.v6_24.sync_desktop_icons
|
||||
frappe.patches.v6_20x.set_allow_draft_for_print
|
||||
frappe.patches.v6_20x.remove_roles_from_website_user
|
||||
frappe.patches.v7_0.set_user_fullname
|
||||
|
|
@ -132,7 +133,6 @@ 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
|
||||
execute:frappe.db.sql("delete from `tabWeb Page` where ifnull(template_path, '')!=''")
|
||||
frappe.patches.v7_0.re_route #2016-06-27
|
||||
frappe.patches.v7_0.rename_newsletter_list_to_email_group
|
||||
frappe.patches.v7_0.replace_upgrade_link_limit
|
||||
frappe.patches.v7_0.set_email_group
|
||||
Loading…
Add table
Reference in a new issue