// ERPNext - web based ERP (http://erpnext.com) // Copyright (C) 2012 Web Notes Technologies Pvt Ltd // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // opts - parent, list, doc, email erpnext.CommunicationView = Class.extend({ init: function(opts) { this.comm_list = []; $.extend(this, opts); this.list.sort(function(a, b) { return (new Date(a.modified) > new Date(b.modified)) ? -1 : 1; }) this.make(); }, make: function() { var me = this; this.make_body(); if(this.list && this.list.length) { $.each(this.list, function(i, d) { me.prepare(d); me.make_line(d); }); // show first this.comm_list[0].find('.comm-content').toggle(true); } else { this.body.remove() $("
No Communication with this " + this.doc.doctype +" yet.
").appendTo(this.wrapper); } }, make_body: function() { $(this.parent) .html("") .css({"margin":"10px 0px"}); this.wrapper = $("

Communication History

\
\
\
") .appendTo(this.parent); this.body = $("") .appendTo(this.wrapper); }, add_reply: function() { var me = this; var d = new wn.ui.Dialog({ width: 640, title: "Add Reply: " + (this.doc.subject || ""), fields: [ {label:"Subject", fieldtype:"Data", reqd: 1}, {label:"Message", fieldtype:"Text Editor", reqd: 1, fieldname:"content"}, {label:"Send Email", fieldtype:"Check"}, {label:"Send", fieldtype:"Button"}, ] }); $(d.fields_dict.send_email.input).attr("checked", "checked") $(d.fields_dict.send.input).click(function() { var args = d.get_values(); if(!args) return; wn.call({ method:"support.doctype.communication.communication.make", args: $.extend(args, { doctype: me.doc.doctype, name: me.doc.name, lead: me.doc.lead, contact: me.doc.contact, recipients: me.email }), callback: function(r) { d.hide(); cur_frm.reload_doc(); } }); }); d.fields_dict.content.input.set_input("

=== In response to ===

" + me.list[0].content) $(d.fields_dict.subject.input).val(this.doc.subject || "").change(); d.show(); }, prepare: function(doc) { //doc.when = comment_when(this.doc.modified); doc.when = doc.modified; if(doc.content.indexOf("
")== -1 && doc.content.indexOf("

")== -1) { doc.content = doc.content.replace(/\n/g, "
"); } if(!doc.sender) doc.sender = "[unknown sender]"; doc.sender = doc.sender.replace(//, ">"); doc.content = doc.content.split("=== In response to ===")[0]; doc.content = doc.content.split("-----Original Message-----")[0]; }, make_line: function(doc) { var me = this; var comm = $(repl('

', doc)) .appendTo(this.body) .css({"cursor":"pointer"}) .click(function() { $(this).find(".comm-content").toggle(); }); this.comm_list.push(comm); comm.find(".comm-content").html(doc.content); } })
\

%(sender)s on %(when)s \ \ Show Details

\
\