one-time charges on quotations, RT#25561
[freeside.git] / httemplate / elements / one_time_charge_link.html
1 <%doc>
2
3 Example:
4
5   <& /elements/one_time_charge_link.html,
6
7      #one of these is required
8      'custnum'     => $custnum,
9      'prospectnum' => $prospectnum,
10
11   &>
12
13 </%doc>
14 <SCRIPT TYPE="text/javascript">
15
16 function taxproductmagic(which) {
17
18   var str = '';
19   var elements = which.form.elements;
20   for (var i = 0; i<elements.length; i++) {
21
22     if (elements[i].name == 'taxproductnum'){
23       document.getElementById('taxproductnum').value = elements[i].value;
24       continue;
25     }
26     if (elements[i].name == 'taxproductnum_description'){
27       continue;
28     }
29
30     if (str.length){str += ';';}
31
32     var value = '';
33     if ( elements[i].type == 'checkbox' || elements[i].type == 'radio' ) {
34       if ( elements[i].checked == true ) {
35         value = elements[i].value;
36       //} else {
37       //  value = '';
38       }
39     } else {
40       value = elements[i].value;
41     }
42     str += elements[i].name + '=' + escape(value);
43
44   }
45   document.getElementById('charge_storage').value = str;
46   cClick();
47   overlib( OLiframeContent('<% $p %>/browse/part_pkg_taxproduct.cgi?_type=select&id=taxproductnum&onclick=taxproductquickchargemagic&taxproductnum='+document.getElementById('taxproductnum').value, 1000, 400, 'tax_product_popup'), CAPTION, 'Select product', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK);
48 }
49
50 function taxproductquickchargemagic() {
51   var str = document.getElementById('charge_storage').value;
52   if (str.length){str += ';';}
53   str += 'magic=taxproductnum;taxproductnum=';
54   str += escape(document.getElementById('taxproductnum').value);
55   cClick();
56   overlib( OLiframeContent('<% $p %>/edit/quick-charge.html?'+str, 545, 336, 'One-time charge'), CAPTION, 'One-time charge', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '#333399', CGCOLOR, '#333399', CLOSETEXT, <% mt('Close') |js_string %>);
57
58 }
59
60 function taxoverridemagic(which) {
61   var str = '';
62   var elements = which.ownerDocument.QuickChargeForm.elements;
63   for (var i = 0; i<elements.length; i++) {
64     if (elements[i].name == 'tax_override'){
65       document.getElementById('tax_override').value = elements[i].value;
66       continue;
67     }
68     if (str.length){str += ';';}
69     str += elements[i].name + '=' + escape(elements[i].value);
70   }
71   document.getElementById('charge_storage').value = str;
72   cClick();
73   overlib( OLiframeContent('<% $p %>/edit/part_pkg_taxoverride.html?element_name=tax_override;onclick=taxoverridequickchargemagic;selected='+document.getElementById('tax_override').value, 1100, 600, 'tax_product_popup'), CAPTION, 'Edit product tax overrides', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK);
74 }
75
76 function taxoverridequickchargemagic() {
77   var str = document.getElementById('charge_storage').value;
78   if (str.length){str += ';';}
79   str += 'magic=taxoverride;tax_override=';
80   str += document.getElementById('tax_override').value;
81   cClick();
82   overlib( OLiframeContent('<% $p %>/edit/quick-charge.html?'+str, 545, 336, 'One-time charge'), CAPTION, 'One-time charge', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '#333399', CGCOLOR, '#333399', CLOSETEXT, <% mt('Close') |js_string %>);
83
84 }
85
86 </SCRIPT>
87
88 <FORM NAME='quickcharge' STYLE="margin:0; padding:0; display:inline">
89 % for (qw(
90 %   taxproductnum tax_override charge_storage taxproductnum_description
91 % )) {
92     <INPUT NAME="<% $_ %>" ID="<% $_ %>" TYPE="hidden">
93 % }
94 </FORM>
95
96 <% include('/elements/popup_link.html', { 
97      'action'      => $p. 'edit/quick-charge.html?'. $query,
98      'label'       => emt('One-time charge'),
99      'actionlabel' => emt('One-time charge'),
100      'color'       => '#333399',
101      'width'       => 763,
102      'height'      => 460, #more for more room for lines of add'l description?
103    })
104 %>
105
106 <%init>
107
108 my %opt = @_;
109
110 my $query = $opt{custnum} ? 'custnum='.$opt{custnum}
111                           : 'prospectnum='.$opt{prospectnum};
112 $query .= ';quotationnum='.$opt{quotationnum} if $opt{quotationnum};
113
114 </%init>