Ver código fonte

Merge pull request #8508 from marination/customize-import

feat: Added 'Allow Import (via Data Import Tool)' checkbox in Customize Form
version-14
mergify[bot] 5 anos atrás
committed by GitHub
pai
commit
510b726783
Nenhuma chave conhecida encontrada para esta assinatura no banco de dados ID da chave GPG: 4AEE18F83AFDEB23
5 arquivos alterados com 34 adições e 13 exclusões
  1. +14
    -9
      frappe/core/doctype/data_import/data_import.js
  2. +5
    -0
      frappe/core/doctype/data_import/data_import.py
  3. +8
    -1
      frappe/custom/doctype/customize_form/customize_form.json
  4. +2
    -1
      frappe/custom/doctype/customize_form/customize_form.py
  5. +5
    -2
      frappe/utils/user.py

+ 14
- 9
frappe/core/doctype/data_import/data_import.js Ver arquivo

@@ -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 Ver arquivo

@@ -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)


+ 8
- 1
frappe/custom/doctype/customize_form/customize_form.json Ver arquivo

@@ -18,6 +18,7 @@
"track_changes",
"track_views",
"allow_auto_repeat",
"allow_import",
"image_view",
"column_break_5",
"title_field",
@@ -167,13 +168,19 @@
"fieldname": "allow_auto_repeat",
"fieldtype": "Check",
"label": "Allow Auto Repeat"
},
{
"default": "0",
"fieldname": "allow_import",
"fieldtype": "Check",
"label": "Allow Import (via Data Import Tool)"
}
],
"hide_toolbar": 1,
"icon": "fa fa-glass",
"idx": 1,
"issingle": 1,
"modified": "2019-07-01 22:50:50.372465",
"modified": "2019-10-08 11:16:36.698006",
"modified_by": "Administrator",
"module": "Custom",
"name": "Customize Form",


+ 2
- 1
frappe/custom/doctype/customize_form/customize_form.py Ver arquivo

@@ -30,7 +30,8 @@ doctype_properties = {
'max_attachments': 'Int',
'track_changes': 'Check',
'track_views': 'Check',
'allow_auto_repeat': 'Check'
'allow_auto_repeat': 'Check',
'allow_import': 'Check'
}

docfield_properties = {


+ 5
- 2
frappe/utils/user.py Ver arquivo

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

if "System Manager" in self.get_roles():
self.can_import = list(filter(lambda d: d in self.can_create,
frappe.db.sql_list("""select name from `tabDocType` where allow_import = 1""")))
docs = [x["name"] for x in frappe.get_all("DocType", "name")]
for docname in docs:
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


Carregando…
Cancelar
Salvar