Parcourir la source

[attachment select field] [fix] update select list when adding new attachment

version-14
Anand Doshi il y a 12 ans
Parent
révision
ea0db14a6b
3 fichiers modifiés avec 14 ajouts et 7 suppressions
  1. +1
    -1
      public/js/legacy/widgets/form/fields.js
  2. +10
    -6
      public/js/wn/form/attachments.js
  3. +3
    -0
      webnotes/widgets/form/run_method.py

+ 1
- 1
public/js/legacy/widgets/form/fields.js Voir le fichier

@@ -1088,7 +1088,7 @@ SelectField.prototype.make_input = function() {
padding-left: 6px; padding-right: 6px; margin-left: 6px;'>\
<i class='icon-plus'></i></button>")
.click(function() {
cur_frm.attachments.new_attachment();
cur_frm.attachments.new_attachment(me.df.fieldname);
})
.appendTo(this.input_area);
}


+ 10
- 6
public/js/wn/form/attachments.js Voir le fichier

@@ -62,7 +62,7 @@ wn.ui.form.Attachments = Class.extend({

var file_list = this.get_file_list();
var file_names = keys(file_list).sort();
// add attachment objects
for(var i=0; i<file_names.length; i++) {
this.add_attachment(file_names[i], file_list);
@@ -113,7 +113,7 @@ wn.ui.form.Attachments = Class.extend({
return false;
});
},
new_attachment: function() {
new_attachment: function(fieldname) {
var me = this;
if(!this.dialog) {
this.dialog = new wn.ui.Dialog({
@@ -125,7 +125,7 @@ wn.ui.form.Attachments = Class.extend({
}
this.dialog.body.innerHTML = '';
this.dialog.show();
wn.upload.make({
parent: this.dialog.body,
args: {
@@ -134,15 +134,19 @@ wn.ui.form.Attachments = Class.extend({
docname: this.frm.docname
},
callback: function(fileid, filename, r) {
me.update_attachment(fileid, filename, r);
me.update_attachment(fileid, filename, fieldname, r);
}
});
},
update_attachment: function(fileid, filename, r) {
update_attachment: function(fileid, filename, fieldname, r) {
this.dialog && this.dialog.hide();
if(fileid) {
this.add_to_file_list(fileid, filename);
this.refresh();
if(fieldname) {
this.frm.set_value(fieldname, "files/"+filename);
this.frm.cscript[fieldname] && this.frm.cscript[fieldname](this.frm.doc);
}
}
},
add_to_file_list: function(fileid, filename) {
@@ -166,7 +170,7 @@ wn.ui.form.Attachments = Class.extend({
if(this.frm.fields[i].attach_files) {
var fieldname = this.frm.fields[i].df.fieldname;
refresh_field(fieldname);
if(!inList(this.frm.fields[i].df.options.split("\n"), this.frm.doc[fieldname])) {
if(this.frm.doc[fieldname]!=undefined && !inList(this.frm.fields[i].df.options.split("\n"), this.frm.doc[fieldname])) {
this.frm.cscript.on_remove_attachment && this.frm.cscript.on_remove_attachment(this.frm.doc);
this.frm.set_value(fieldname, "");
}


+ 3
- 0
webnotes/widgets/form/run_method.py Voir le fichier

@@ -64,6 +64,9 @@ def runserverobj():
else:
webnotes.response['message'] = r
from webnotes.widgets.form.load import add_file_list
add_file_list(so.doc.doctype, so.doc.name, so.doclist)
webnotes.response['docs'] += so.doclist

def check_guest_access(doc):


Chargement…
Annuler
Enregistrer