ソースを参照

create new folder from File listview

version-14
saurabh 10年前
committed by Rushabh Mehta
コミット
8cbd03392b
3個のファイルの変更30行の追加2行の削除
  1. +9
    -0
      frappe/core/doctype/file/file.py
  2. +18
    -0
      frappe/core/doctype/file/file_list.js
  3. +3
    -2
      frappe/model/rename_doc.py

+ 9
- 0
frappe/core/doctype/file/file.py ファイルの表示

@@ -183,3 +183,12 @@ def get_breadcrumbs(folder):
lft, rgt = frappe.db.get_value("File", folder, ["lft", "rgt"])
return frappe.db.sql("""select name, file_name from tabFile
where lft < %s and rgt > %s order by lft asc""", (lft, rgt), as_dict=1)

@frappe.whitelist()
def create_new_folder(file_name, folder):
""" create new folder under current parent folder """
file = frappe.new_doc("File")
file.file_name = file_name
file.is_folder = 1
file.folder = folder
file.insert()

+ 18
- 0
frappe/core/doctype/file/file_list.js ファイルの表示

@@ -28,6 +28,24 @@ frappe.listview_settings['File'] = {
doclist.filter_area = doclist.wrapper.find(".show_filters");
doclist.breadcrumb = $('<ol class="breadcrumb for-file-list"></ol>')
.insertBefore(doclist.filter_area);
doclist.page.add_menu_item(__("Create Folder"), function() {
var d = frappe.prompt(__("Name"), function(values) {
if((values.value.indexOf("/") > -1)){
frappe.throw("Folder name should not include / !!!")
return;
}
var data = {
"file_name": values.value,
"folder":doclist.current_folder
};
frappe.call({
method:"frappe.core.doctype.file.file.create_new_folder",
args: data,
callback:function(r){
}
})
}, __('Enter folder name'), __("Create"));
});
},
before_run: function(doclist) {
var name_filter = doclist.filter_list.get_filter("file_name");


+ 3
- 2
frappe/model/rename_doc.py ファイルの表示

@@ -66,8 +66,9 @@ def rename_doc(doctype, old, new, force=False, merge=False, ignore_permissions=F

def update_attachments(doctype, old, new):
try:
frappe.db.sql("""update `tabFile` set attached_to_name=%s
where attached_to_name=%s and attached_to_doctype=%s""", (new, old, doctype))
if old != "File Data" and doctype != "DocType":
frappe.db.sql("""update `tabFile` set attached_to_name=%s
where attached_to_name=%s and attached_to_doctype=%s""", (new, old, doctype))
except Exception, e:
if e.args[0]!=1054: # in patch?
raise


読み込み中…
キャンセル
保存