1 /*********************************************************************************
2 * SugarCRM Community Edition is a customer relationship management program developed by
3 * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
5 * This program is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU Affero General Public License version 3 as published by the
7 * Free Software Foundation with the addition of the following permission added
8 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
9 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
10 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12 * This program is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
17 * You should have received a copy of the GNU Affero General Public License along with
18 * this program; if not, see http://www.gnu.org/licenses or write to the Free
19 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
23 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25 * The interactive user interfaces in modified source and object code versions
26 * of this program must display Appropriate Legal Notices, as required under
27 * Section 5 of the GNU Affero General Public License version 3.
29 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
30 * these Appropriate Legal Notices must retain the display of the "Powered by
31 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
32 * technical reasons, the Appropriate Legal Notices must display the words
33 * "Powered by SugarCRM".
34 ********************************************************************************/
39 var rhandle=new RevisionListHandler();
40 var from_popup_return = false;
41 function document_set_return(popup_reply_data)
43 from_popup_return = true;
44 var form_name = popup_reply_data.form_name;
45 var name_to_value_array = popup_reply_data.name_to_value_array;
46 related_doc_id='EMPTY';
47 for (var the_key in name_to_value_array)
49 if(the_key != 'toJSON')
51 var displayValue=name_to_value_array[the_key];
52 displayValue=displayValue.replace(''',"'"); //restore escaped single quote.
53 displayValue=displayValue.replace( '&',"&"); //restore escaped &.
54 displayValue=displayValue.replace( '>',">"); //restore escaped >.
55 displayValue=displayValue.replace( '<',"<"); //restore escaped <.
56 displayValue=displayValue.replace( '" ',"\""); //restore escaped ".
57 if (the_key == 'related_doc_id') {
58 related_doc_id =displayValue;
60 window.document.forms[form_name].elements[the_key].value = displayValue;
63 related_doc_id=YAHOO.lang.JSON.stringify(related_doc_id);
64 //make request for document revisions data.
65 var conditions = new Array();
66 conditions[conditions.length] = {"name":"document_id","op":"starts_with","value":related_doc_id};
67 var query = {"module":"DocumentRevisions","field_list":['id','revision','date_entered'],"conditions":conditions,"order":'date_entered desc'};
69 //make the call call synchronous for now...
70 //todo: convert to async, test on mozilla..
71 result = global_rpcClient.call_method('query',query,true);
72 rhandle.display(result);
76 function RevisionListHandler() { }
78 RevisionListHandler.prototype.display = function(result) {
79 var names = result['list'];
80 var rev_tag=document.getElementById('related_doc_rev_id');
81 rev_tag.options.length=0;
83 for(i=0; i < names.length; i++) {
84 rev_tag.options[i] = new Option(names[i].fields['revision'],names[i].fields['id'],false,false);
86 rev_tag.disabled=false;
90 function setvalue(source) {
92 src = new String(source.value);
93 target=new String(source.form.document_name.value);
95 if (target.length == 0)
97 lastindex=src.lastIndexOf("/");
98 if (lastindex == -1) {
99 lastindex=src.lastIndexOf("\\");
101 if (lastindex == -1) {
102 source.form.document_name.value=src;
104 source.form.document_name.value=src.substr(++lastindex, src.length);
109 function toggle_template_type(istemplate) {
110 template_type = document.getElementById('template_type');
111 if (istemplate.checked) {
112 //template_type.enabled=true;
113 template_type.disabled=false;
115 //template_type.enabled=false;
116 template_type.disabled=true;