@@ -158,4 +158,66 @@ set_missing_values = function(doc, dict) { | |||||
$.each(dict, function(i, v) { if (!doc[i]) { fields_to_set[i] = v; } }); | $.each(dict, function(i, v) { if (!doc[i]) { fields_to_set[i] = v; } }); | ||||
if (fields_to_set) { set_multiple(doc.doctype, doc.name, fields_to_set); } | if (fields_to_set) { set_multiple(doc.doctype, doc.name, fields_to_set); } | ||||
} | |||||
} | |||||
_f.Frm.prototype.get_doc = function() { | |||||
return locals[this.doctype][this.docname]; | |||||
} | |||||
_f.Frm.prototype.get_doclist = function() { | |||||
return make_doclist(this.doctype, this.docname); | |||||
} | |||||
_f.Frm.prototype.field_map = function(fnames, fn) { | |||||
if(typeof fnames=='string') { | |||||
if(fnames == '*') { | |||||
fnames = keys(this.fields_dict); | |||||
} else { | |||||
fnames = [fnames]; | |||||
} | |||||
} | |||||
$.each(fnames, function(i,f) { | |||||
//var field = cur_frm.fields_dict[f]; - much better design | |||||
var field = wn.meta.get_docfield(cur_frm.doctype, f, cur_frm.docname) | |||||
if(field) { | |||||
fn(field); | |||||
cur_frm.refresh_field(f); | |||||
}; | |||||
}) | |||||
} | |||||
_f.Frm.prototype.set_df_property = function(fieldname, property, value) { | |||||
var field = wn.meta.get_docfield(cur_frm.doctype, fieldname, cur_frm.docname) | |||||
if(field) { | |||||
field[property] = value; | |||||
cur_frm.refresh_field(fieldname); | |||||
}; | |||||
} | |||||
_f.Frm.prototype.toggle_enable = function(fnames, enable) { | |||||
cur_frm.field_map(fnames, function(field) { field.disabled = enable ? false : true; }); | |||||
} | |||||
_f.Frm.prototype.toggle_reqd = function(fnames, mandatory) { | |||||
cur_frm.field_map(fnames, function(field) { field.reqd = mandatory ? true : false; }); | |||||
} | |||||
_f.Frm.prototype.toggle_display = function(fnames, show) { | |||||
cur_frm.field_map(fnames, function(field) { field.hidden = show ? 0 : 1; }); | |||||
} | |||||
_f.Frm.prototype.call_server = function(method, args, callback) { | |||||
$c_obj(cur_frm.get_doclist(), method, args, callback); | |||||
} | |||||
_f.Frm.prototype.get_files = function() { | |||||
return $.map((cur_frm.doc.file_list || "").split("\n"), function(f) { | |||||
return f.split(",")[0] || null; | |||||
}); | |||||
} | |||||
_f.Frm.prototype.set_value = function(field, value) { | |||||
cur_frm.doc[field] = value; | |||||
cur_frm.fields_dict[field].refresh(); | |||||
} |
@@ -1085,66 +1085,4 @@ _f.Frm.prototype.show_comments = function() { | |||||
cur_frm.comments.list.dn = cur_frm.docname; | cur_frm.comments.list.dn = cur_frm.docname; | ||||
cur_frm.comments.show(); | cur_frm.comments.show(); | ||||
cur_frm.comments.list.run(); | cur_frm.comments.list.run(); | ||||
} | |||||
_f.Frm.prototype.get_doc = function() { | |||||
return locals[this.doctype][this.docname]; | |||||
} | |||||
_f.Frm.prototype.get_doclist = function() { | |||||
return make_doclist(this.doctype, this.docname); | |||||
} | |||||
_f.Frm.prototype.field_map = function(fnames, fn) { | |||||
if(typeof fnames=='string') { | |||||
if(fnames == '*') { | |||||
fnames = keys(this.fields_dict); | |||||
} else { | |||||
fnames = [fnames]; | |||||
} | |||||
} | |||||
$.each(fnames, function(i,f) { | |||||
//var field = cur_frm.fields_dict[f]; - much better design | |||||
var field = wn.meta.get_docfield(cur_frm.doctype, f, cur_frm.docname) | |||||
if(field) { | |||||
fn(field); | |||||
cur_frm.refresh_field(f); | |||||
}; | |||||
}) | |||||
} | |||||
_f.Frm.prototype.set_df_property = function(fieldname, property, value) { | |||||
var field = wn.meta.get_docfield(cur_frm.doctype, fieldname, cur_frm.docname) | |||||
if(field) { | |||||
field[property] = value; | |||||
cur_frm.refresh_field(fieldname); | |||||
}; | |||||
} | |||||
_f.Frm.prototype.toggle_enable = function(fnames, enable) { | |||||
cur_frm.field_map(fnames, function(field) { field.disabled = enable ? false : true; }); | |||||
} | |||||
_f.Frm.prototype.toggle_reqd = function(fnames, mandatory) { | |||||
cur_frm.field_map(fnames, function(field) { field.reqd = mandatory ? true : false; }); | |||||
} | |||||
_f.Frm.prototype.toggle_display = function(fnames, show) { | |||||
cur_frm.field_map(fnames, function(field) { field.hidden = show ? 0 : 1; }); | |||||
} | |||||
_f.Frm.prototype.call_server = function(method, args, callback) { | |||||
$c_obj(cur_frm.get_doclist(), method, args, callback); | |||||
} | |||||
_f.Frm.prototype.get_files = function() { | |||||
return $.map((cur_frm.doc.file_list || "").split("\n"), function(f) { | |||||
return f.split(",")[0] || null; | |||||
}); | |||||
} | |||||
_f.Frm.prototype.set_value = function(field, value) { | |||||
cur_frm.doc[field] = value; | |||||
cur_frm.fields_dict[field].refresh(); | |||||
} | |||||
} |
@@ -74,16 +74,18 @@ wn.views.CommunicationList = Class.extend({ | |||||
make_line: function(doc) { | make_line: function(doc) { | ||||
var me = this; | var me = this; | ||||
var comm = $(repl('<tr><td title="Click to Expand / Collapse">\ | var comm = $(repl('<tr><td title="Click to Expand / Collapse">\ | ||||
<p><b>%(_sender)s on %(when)s</b> \ | |||||
<a href="#Form/Communication/%(name)s" style="font-size: 90%">\ | |||||
Show Details</a></p>\ | |||||
<a href="#Form/Communication/%(name)s" style="font-size: 90%; float: right;">\ | |||||
Show Details</a>\ | |||||
<p class="comm-header"><b>%(_sender)s on %(when)s</b></p>\ | |||||
<div class="comm-content" style="border-top: 1px solid #ddd; \ | <div class="comm-content" style="border-top: 1px solid #ddd; \ | ||||
padding: 10px; overflow-x: auto; display: none;"></div>\ | padding: 10px; overflow-x: auto; display: none;"></div>\ | ||||
</td></tr>', doc)) | </td></tr>', doc)) | ||||
.appendTo(this.body) | .appendTo(this.body) | ||||
comm.find(".comm-header") | |||||
.css({"cursor":"pointer"}) | .css({"cursor":"pointer"}) | ||||
.click(function() { | .click(function() { | ||||
$(this).find(".comm-content").toggle(); | |||||
$(this).parent().find(".comm-content").toggle(); | |||||
}); | }); | ||||
this.comm_list.push(comm); | this.comm_list.push(comm); | ||||
@@ -106,8 +108,8 @@ wn.views.CommunicationComposer = Class.extend({ | |||||
{label:"To", fieldtype:"Data", reqd: 1, fieldname:"recipients", | {label:"To", fieldtype:"Data", reqd: 1, fieldname:"recipients", | ||||
description:"Email addresses, separted by commas"}, | description:"Email addresses, separted by commas"}, | ||||
{label:"Subject", fieldtype:"Data", reqd: 1}, | {label:"Subject", fieldtype:"Data", reqd: 1}, | ||||
{label:"Message", fieldtype:"Text Editor", reqd: 1, fieldname:"content"}, | |||||
{label:"Add Reply", fieldtype:"Button"}, | {label:"Add Reply", fieldtype:"Button"}, | ||||
{label:"Message", fieldtype:"Text Editor", reqd: 1, fieldname:"content"}, | |||||
{label:"Send Email", fieldtype:"Check"}, | {label:"Send Email", fieldtype:"Check"}, | ||||
{label:"Send Me A Copy", fieldtype:"Check"}, | {label:"Send Me A Copy", fieldtype:"Check"}, | ||||
{label:"Attach Document Print", fieldtype:"Check"}, | {label:"Attach Document Print", fieldtype:"Check"}, | ||||