Procházet zdrojové kódy

fix: Importable docs via Customize Form set in redis cache

can_import list is set in redis cache
Data Import's set query will fetch from cache ad update list
version-14
marination před 5 roky
rodič
revize
e08779c362
4 změnil soubory, kde provedl 23 přidání a 13 odebrání
  1. +14
    -9
      frappe/core/doctype/data_import/data_import.js
  2. +5
    -0
      frappe/core/doctype/data_import/data_import.py
  3. +1
    -1
      frappe/custom/doctype/customize_form/customize_form.json
  4. +3
    -3
      frappe/utils/user.py

+ 14
- 9
frappe/core/doctype/data_import/data_import.js Zobrazit soubor

@@ -7,15 +7,20 @@ frappe.ui.form.on('Data Import', {
frm.set_value("action", "");
}

frm.set_query("reference_doctype", function() {
return {
"filters": {
"issingle": 0,
"istable": 0,
"name": ['in', frappe.boot.user.can_import]
}
};
});
frappe.call({
method: "frappe.core.doctype.data_import.data_import.get_importable_doc",
callback: function (r) {
frm.set_query("reference_doctype", function () {
return {
"filters": {
"issingle": 0,
"istable": 0,
"name": ['in', r.message]
}
};
});
}
}),

// should never check public
frm.fields_dict["import_file"].df.is_private = 1;


+ 5
- 0
frappe/core/doctype/data_import/data_import.py Zobrazit soubor

@@ -29,6 +29,11 @@ class DataImport(Document):
upload(data_import_doc=self, from_data_import="Yes", validate_template=True)


@frappe.whitelist()
def get_importable_doc():
import_lst = frappe.cache().hget("can_import", frappe.session.user)
return import_lst

@frappe.whitelist()
def import_data(data_import):
frappe.db.set_value("Data Import", data_import, "import_status", "In Progress", update_modified=False)


+ 1
- 1
frappe/custom/doctype/customize_form/customize_form.json Zobrazit soubor

@@ -180,7 +180,7 @@
"icon": "fa fa-glass",
"idx": 1,
"issingle": 1,
"modified": "2019-09-27 00:01:19.609039",
"modified": "2019-10-08 11:16:36.698006",
"modified_by": "Administrator",
"module": "Custom",
"name": "Customize Form",


+ 3
- 3
frappe/utils/user.py Zobrazit soubor

@@ -157,11 +157,11 @@ class UserPermissions:
self.can_read.remove(dt)

if "System Manager" in self.get_roles():
docs = [x['name'] for x in frappe.get_all("DocType", "name")]
frappe.clear_cache()
docs = [x["name"] for x in frappe.get_all("DocType", "name")]
for docname in docs:
if frappe.get_meta(docname).allow_import == 1:
if frappe.get_meta(docname, cached=False).allow_import == 1:
self.can_import.append(docname)
frappe.cache().hset("can_import", frappe.session.user, self.can_import)

def get_defaults(self):
import frappe.defaults


Načítá se…
Zrušit
Uložit