Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | {* |
2 | +--------------------------------------------------------------------+ | |
39de6fd5 | 3 | | CiviCRM version 4.6 | |
6a488035 | 4 | +--------------------------------------------------------------------+ |
e7112fa7 | 5 | | Copyright CiviCRM LLC (c) 2004-2015 | |
6a488035 TO |
6 | +--------------------------------------------------------------------+ |
7 | | This file is a part of CiviCRM. | | |
8 | | | | |
9 | | CiviCRM is free software; you can copy, modify, and distribute it | | |
10 | | under the terms of the GNU Affero General Public License | | |
11 | | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | |
12 | | | | |
13 | | CiviCRM is distributed in the hope that it will be useful, but | | |
14 | | WITHOUT ANY WARRANTY; without even the implied warranty of | | |
15 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | |
16 | | See the GNU Affero General Public License for more details. | | |
17 | | | | |
18 | | You should have received a copy of the GNU Affero General Public | | |
19 | | License and the CiviCRM Licensing Exception along | | |
20 | | with this program; if not, contact CiviCRM LLC | | |
21 | | at info[AT]civicrm[DOT]org. If you have questions about the | | |
22 | | GNU Affero General Public License or the licensing of CiviCRM, | | |
23 | | see the CiviCRM license FAQ at http://civicrm.org/licensing | | |
24 | +--------------------------------------------------------------------+ | |
25 | *} | |
26 | {*common template for compose PDF letters*} | |
27 | {if $form.template.html} | |
28 | <table class="form-layout-compressed"> | |
29 | <tr> | |
4c71ccb4 | 30 | <td class="label-left">{$form.template.label}</td> |
6a488035 TO |
31 | <td>{$form.template.html}</td> |
32 | </tr> | |
4c71ccb4 RN |
33 | <tr> |
34 | <td class="label-left">{$form.subject.label}</td> | |
35 | <td>{$form.subject.html}</td> | |
36 | </tr> | |
37 | <tr> | |
38 | <td class="label-left">{$form.campaign_id.label}</td> | |
39 | <td>{$form.campaign_id.html}</td> | |
40 | </tr> | |
6a488035 TO |
41 | </table> |
42 | {/if} | |
43 | ||
44 | <div class="crm-accordion-wrapper collapsed"> | |
45 | <div class="crm-accordion-header"> | |
46 | {$form.pdf_format_header.html} | |
47 | </div> | |
48 | <div class="crm-accordion-body"> | |
49 | <div class="crm-block crm-form-block crm-pdf-format-form-block"> | |
50 | <table class="form-layout-compressed"> | |
51 | <tr> | |
a7916823 CW |
52 | <td class="label-left">{$form.format_id.label} {help id="id-pdf-format" file="CRM/Contact/Form/Task/PDFLetterCommon.hlp"}</td> |
53 | <td>{$form.format_id.html}</td> | |
54 | </tr> | |
6a488035 TO |
55 | <tr> |
56 | <td class="label-left">{$form.paper_size.label}</td><td>{$form.paper_size.html}</td> | |
57 | <td class="label-left">{$form.orientation.label}</td><td>{$form.orientation.html}</td> | |
58 | </tr> | |
59 | <tr> | |
60 | <td class="label-left">{$form.metric.label}</td><td>{$form.metric.html}</td> | |
61 | <td colspan="2"> </td> | |
62 | </tr> | |
63 | <tr> | |
64 | <td>{$form.paper_dimensions.html}</td><td id="paper_dimensions"> </td> | |
65 | <td colspan="2"> </td> | |
66 | </tr> | |
67 | <tr> | |
68 | <td class="label-left">{$form.margin_top.label}</td><td>{$form.margin_top.html}</td> | |
69 | <td class="label-left">{$form.margin_bottom.label}</td><td>{$form.margin_bottom.html}</td> | |
70 | </tr> | |
71 | <tr> | |
72 | <td class="label-left">{$form.margin_left.label}</td><td>{$form.margin_left.html}</td> | |
73 | <td class="label-left">{$form.margin_right.label}</td><td>{$form.margin_right.html}</td> | |
74 | </tr> | |
586b8780 | 75 | {* CRM-15883 Suppressing stationery until switch from DOMPDF. |
bdfa67c3 | 76 | <tr> |
77 | <td class="label-left">{$form.stationery.label}</td><td>{$form.stationery.html}</td> | |
78 | <td colspan="2"> </td> | |
79 | </tr> | |
586b8780 | 80 | *} |
6a488035 TO |
81 | </table> |
82 | <div id="bindFormat">{$form.bind_format.html} {$form.bind_format.label}</div> | |
83 | <div id="updateFormat" style="display: none">{$form.update_format.html} {$form.update_format.label}</div> | |
84 | </div> | |
85 | </div> | |
86 | </div> | |
87 | ||
88 | <div class="crm-accordion-wrapper crm-html_email-accordion "> | |
89 | <div class="crm-accordion-header"> | |
90 | {$form.html_message.label} | |
91 | </div><!-- /.crm-accordion-header --> | |
92 | <div class="crm-accordion-body"> | |
ac0a3db5 CW |
93 | <div class="helpIcon" id="helphtml"> |
94 | <input class="crm-token-selector big" data-field="html_message" /> | |
95 | {help id="id-token-html" tplFile=$tplFile isAdmin=$isAdmin editor=$editor file="CRM/Contact/Form/Task/Email.hlp"} | |
96 | </div> | |
6a488035 TO |
97 | <div class="clear"></div> |
98 | <div class='html'> | |
99 | {if $editor EQ 'textarea'} | |
149fb291 | 100 | <div class="help description">{ts}NOTE: If you are composing HTML-formatted messages, you may want to enable a Rich Text (WYSIWYG) editor (Administer » Customize Data & Screens » Display Preferences).{/ts}</div> |
6a488035 TO |
101 | {/if} |
102 | {$form.html_message.html}<br /> | |
103 | </div> | |
104 | ||
105 | <div id="editMessageDetails"> | |
106 | <div id="updateDetails" > | |
107 | {$form.updateTemplate.html} {$form.updateTemplate.label} | |
108 | </div> | |
109 | <div> | |
110 | {$form.saveTemplate.html} {$form.saveTemplate.label} | |
111 | </div> | |
112 | </div> | |
113 | ||
114 | <div id="saveDetails" class="section"> | |
115 | <div class="label">{$form.saveTemplateName.label}</div> | |
116 | <div class="content">{$form.saveTemplateName.html|crmAddClass:huge}</div> | |
117 | </div> | |
118 | ||
119 | </div><!-- /.crm-accordion-body --> | |
120 | </div><!-- /.crm-accordion-wrapper --> | |
121 | ||
122 | {include file="CRM/Mailing/Form/InsertTokens.tpl"} | |
123 | ||
124 | {literal} | |
125 | <script type="text/javascript"> | |
3cc60a06 | 126 | CRM.$(function($) { |
b50fdacc | 127 | var $form = $('form.{/literal}{$form.formClass}{literal}'); |
a7916823 CW |
128 | $('#format_id', $form).on('change', function() { |
129 | selectFormat($(this).val()); | |
130 | }); | |
6a488035 TO |
131 | }); |
132 | ||
133 | var currentWidth; | |
134 | var currentHeight; | |
135 | var currentMetric = document.getElementById('metric').value; | |
136 | showBindFormatChkBox(); | |
137 | selectPaper( document.getElementById('paper_size').value ); | |
138 | ||
6a488035 TO |
139 | function showBindFormatChkBox() |
140 | { | |
141 | var templateExists = true; | |
142 | if ( document.getElementById('template') == null || document.getElementById('template').value == '' ) { | |
143 | templateExists = false; | |
144 | } | |
a7916823 | 145 | var formatExists = !!cj('#format_id').val(); |
6a488035 TO |
146 | if ( templateExists && formatExists ) { |
147 | document.getElementById("bindFormat").style.display = "block"; | |
148 | } else if ( formatExists && document.getElementById("saveTemplate") != null && document.getElementById("saveTemplate").checked ) { | |
149 | document.getElementById("bindFormat").style.display = "block"; | |
150 | var yes = confirm( '{/literal}{$useThisPageFormat}{literal}' ); | |
151 | if ( yes ) { | |
152 | document.getElementById("bind_format").checked = true; | |
153 | } | |
154 | } else { | |
155 | document.getElementById("bindFormat").style.display = "none"; | |
156 | document.getElementById("bind_format").checked = false; | |
157 | } | |
158 | } | |
159 | ||
160 | function showUpdateFormatChkBox() | |
161 | { | |
a7916823 CW |
162 | if (cj('#format_id').val()) { |
163 | cj("#updateFormat").show(); | |
6a488035 TO |
164 | } |
165 | } | |
166 | ||
a7916823 CW |
167 | function updateFormatLabel() { |
168 | cj('.pdf-format-header-label').html(cj('#format_id option:selected').text() || cj('#format_id').attr('placeholder')); | |
6a488035 TO |
169 | } |
170 | ||
a7916823 CW |
171 | updateFormatLabel(); |
172 | ||
6a488035 TO |
173 | function selectFormat( val, bind ) |
174 | { | |
a7916823 CW |
175 | updateFormatLabel(); |
176 | if (!val) { | |
6a488035 TO |
177 | val = 0; |
178 | bind = false; | |
179 | } | |
180 | var dataUrl = {/literal}"{crmURL p='civicrm/ajax/pdfFormat' h=0 }"{literal}; | |
181 | cj.post( dataUrl, {formatId: val}, function( data ) { | |
182 | cj("#format_id").val( data.id ); | |
183 | cj("#paper_size").val( data.paper_size ); | |
184 | cj("#orientation").val( data.orientation ); | |
185 | cj("#metric").val( data.metric ); | |
186 | cj("#margin_top").val( data.margin_top ); | |
187 | cj("#margin_bottom").val( data.margin_bottom ); | |
188 | cj("#margin_left").val( data.margin_left ); | |
189 | cj("#margin_right").val( data.margin_right ); | |
190 | selectPaper( data.paper_size ); | |
a7916823 | 191 | cj("#update_format").prop({checked: false}).parent().hide(); |
6a488035 TO |
192 | document.getElementById('bind_format').checked = bind; |
193 | showBindFormatChkBox(); | |
194 | }, 'json'); | |
195 | } | |
196 | ||
197 | function selectPaper( val ) | |
198 | { | |
199 | dataUrl = {/literal}"{crmURL p='civicrm/ajax/paperSize' h=0 }"{literal}; | |
200 | cj.post( dataUrl, {paperSizeName: val}, function( data ) { | |
201 | cj("#paper_size").val( data.name ); | |
202 | metric = document.getElementById('metric').value; | |
203 | currentWidth = convertMetric( data.width, data.metric, metric ); | |
204 | currentHeight = convertMetric( data.height, data.metric, metric ); | |
205 | updatePaperDimensions( ); | |
206 | }, 'json'); | |
207 | } | |
208 | ||
209 | function selectMetric( metric ) | |
210 | { | |
211 | convertField( 'margin_top', currentMetric, metric ); | |
212 | convertField( 'margin_bottom', currentMetric, metric ); | |
213 | convertField( 'margin_left', currentMetric, metric ); | |
214 | convertField( 'margin_right', currentMetric, metric ); | |
215 | currentWidth = convertMetric( currentWidth, currentMetric, metric ); | |
216 | currentHeight = convertMetric( currentHeight, currentMetric, metric ); | |
217 | updatePaperDimensions( ); | |
218 | } | |
219 | ||
220 | function updatePaperDimensions( ) | |
221 | { | |
222 | metric = document.getElementById('metric').value; | |
223 | width = new String( currentWidth.toFixed( 2 ) ); | |
224 | height = new String( currentHeight.toFixed( 2 ) ); | |
225 | if ( document.getElementById('orientation').value == 'landscape' ) { | |
226 | width = new String( currentHeight.toFixed( 2 ) ); | |
227 | height = new String( currentWidth.toFixed( 2 ) ); | |
228 | } | |
229 | document.getElementById('paper_dimensions').innerHTML = parseFloat( width ) + ' ' + metric + ' x ' + parseFloat( height ) + ' ' + metric; | |
230 | currentMetric = metric; | |
231 | } | |
232 | ||
233 | function convertField( id, from, to ) | |
234 | { | |
235 | val = document.getElementById( id ).value; | |
236 | if ( val == '' || isNaN( val ) ) return; | |
237 | val = convertMetric( val, from, to ); | |
238 | val = new String( val.toFixed( 3 ) ); | |
239 | document.getElementById( id ).value = parseFloat( val ); | |
240 | } | |
241 | ||
242 | function convertMetric( value, from, to ) { | |
243 | switch( from + to ) { | |
244 | case 'incm': return value * 2.54; | |
245 | case 'inmm': return value * 25.4; | |
246 | case 'inpt': return value * 72; | |
247 | case 'cmin': return value / 2.54; | |
248 | case 'cmmm': return value * 10; | |
249 | case 'cmpt': return value * 72 / 2.54; | |
250 | case 'mmin': return value / 25.4; | |
251 | case 'mmcm': return value / 10; | |
252 | case 'mmpt': return value * 72 / 25.4; | |
253 | case 'ptin': return value / 72; | |
254 | case 'ptcm': return value * 2.54 / 72; | |
255 | case 'ptmm': return value * 25.4 / 72; | |
256 | } | |
257 | return value; | |
258 | } | |
259 | ||
260 | function showSaveDetails(chkbox) { | |
261 | var formatSelected = ( document.getElementById('format_id').value > 0 ); | |
262 | var templateSelected = ( document.getElementById('template') != null && document.getElementById('template').value > 0 ); | |
263 | if (chkbox.checked) { | |
264 | document.getElementById("saveDetails").style.display = "block"; | |
265 | document.getElementById("saveTemplateName").disabled = false; | |
266 | if ( formatSelected && ! templateSelected ) { | |
267 | document.getElementById("bindFormat").style.display = "block"; | |
268 | var yes = confirm( '{/literal}{$useSelectedPageFormat}{literal}' ); | |
269 | if ( yes ) { | |
270 | document.getElementById("bind_format").checked = true; | |
271 | } | |
272 | } | |
273 | } else { | |
274 | document.getElementById("saveDetails").style.display = "none"; | |
275 | document.getElementById("saveTemplateName").disabled = true; | |
276 | if ( ! templateSelected ) { | |
277 | document.getElementById("bindFormat").style.display = "none"; | |
278 | document.getElementById("bind_format").checked = false; | |
279 | } | |
280 | } | |
281 | } | |
282 | ||
283 | </script> | |
284 | {/literal} | |
285 |