Browse Source

[Fixes] Upload file from listview, doc preview and download

version-14
Saurabh 10 years ago
committed by Rushabh Mehta
parent
commit
68e8810556
5 changed files with 52 additions and 8 deletions
  1. +19
    -0
      frappe/core/doctype/file/file.js
  2. +22
    -3
      frappe/core/doctype/file/file_list.js
  3. +1
    -0
      frappe/model/delete_doc.py
  4. +8
    -3
      frappe/public/js/frappe/list/doclistview.js
  5. +2
    -2
      frappe/utils/file_manager.py

+ 19
- 0
frappe/core/doctype/file/file.js View File

@@ -0,0 +1,19 @@
frappe.ui.form.on("File", "onload", function(frm) {
if(frappe.utils.is_image_file(frm.doc.file_url)){
frm.doc.preview = '<div class="img_preview">\
<img style="max-widht:130px;max-height:130px;" \
src="'+frm.doc.file_url+'"></img>\
</div>';
frm.refresh_field("preview");
}
})

frappe.ui.form.on("File", "refresh", function(frm) {
frm.add_custom_button(__('Download'), function(){
window.open(frm.doc.file_url);
}, "icon-download");
})

// frappe.ui.form.on("File", "download", function(frm) {
// window.open(frm.doc.file_url);
// })

+ 22
- 3
frappe/core/doctype/file/file_list.js View File

@@ -3,7 +3,7 @@ frappe.provide("frappe.ui");
frappe.listview_settings['File'] = {
hide_name_column: true,
use_route: true,
add_fields: ["is_folder", "file_name", "file_url"],
add_fields: ["is_folder", "file_name", "file_url", "folder"],
formatters: {
file_size: function(value) {
// formatter for file size
@@ -22,7 +22,8 @@ frappe.listview_settings['File'] = {
} else if(frappe.utils.is_image_file(data.file_name)) {
data._title = '<i class="icon-picture icon-fixed-width"></i> ' + data.file_name;
} else {
data._title = '<i class="icon-file-alt icon-fixed-width"></i> ' + (data.file_name ? data.file_name : data.file_url);
data._title = '<i class="icon-file-alt icon-fixed-width"></i> \
' + (data.file_name ? data.file_name : data.file_url);
}
},
onload: function(doclist) {
@@ -33,12 +34,30 @@ frappe.listview_settings['File'] = {

doclist.listview.settings.setup_new_folder(doclist);
doclist.listview.settings.setup_dragdrop(doclist);

doclist.$page.on("click", ".list-delete", function(event) {
doclist.listview.settings.add_menu_item_copy(doclist);
})
},
list_view_doc:function(doclist){
alert("test")
$(doclist.wrapper).on("click", 'button[list_view_doc="'+doclist.doctype+'"]', function(){
dialog = frappe.ui.get_upload_dialog({
"args": {
"folder": doclist.current_folder,
"from_form": 1
},
callback: function() {
doclist.refresh();
}
});
});
},
setup_new_folder: function(doclist) {
doclist.page.add_menu_item(__("New Folder"), function() {
var d = frappe.prompt(__("Name"), function(values) {
if((values.value.indexOf("/") > -1)){
frappe.throw("Folder name should not include / !!!")
frappe.throw("Folder name should not include / !!!");
return;
}
var data = {


+ 1
- 0
frappe/model/delete_doc.py View File

@@ -82,6 +82,7 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa

update_naming_series(doc)
delete_from_table(doctype, name, ignore_doctypes, doc)
doc.run_method("after_delete")

if doc:
try:


+ 8
- 3
frappe/public/js/frappe/list/doclistview.js View File

@@ -230,9 +230,14 @@ frappe.views.DocListView = frappe.ui.Listing.extend({

// make_new_doc can be overridden so that default values can be prefilled
// for example - communication list in customer
$(this.wrapper).on("click", 'button[list_view_doc="'+me.doctype+'"]', function(){
(me.listview.make_new_doc || me.make_new_doc).apply(me, [me.doctype]);
});
if(this.listview.settings.list_view_doc) {
this.listview.settings.list_view_doc(this);
}
else{
$(this.wrapper).on("click", 'button[list_view_doc="'+me.doctype+'"]', function(){
(me.listview.make_new_doc || me.make_new_doc).apply(me, [me.doctype]);
});
}

if((auto_run !== false) && (auto_run !== 0))
this.refresh();


+ 2
- 2
frappe/utils/file_manager.py View File

@@ -28,7 +28,7 @@ def upload():
if not filename and not file_url:
frappe.msgprint(_("Please select a file or url"),
raise_exception=True)
print folder
# save
if filename:
filedata = save_uploaded(dt, dn, folder)
@@ -130,7 +130,7 @@ def get_random_filename(extn=None, content_type=None):

return random_string(7) + (extn or "")

def save_file(fname, content, dt, dn, folder=None,decode=False):
def save_file(fname, content, dt, dn, folder=None, decode=False):
print [folder]
if decode:
if isinstance(content, unicode):


Loading…
Cancel
Save